SlideShare uma empresa Scribd logo
1 de 27
CURSO TÉCNICO DE INFORMÁTICA
                                    DISCIPLINA : PROGRAMAÇÃO
                                      Profª Angélica M. da Silveira

                                           ALGORITMOS
1.CONCEITO

A palavra algoritmo, à primeira vista, parece-nos estranha. Embora possua designação desconhecida, fazemos
uso constantemente de algoritmos em nosso cotidiano: a maneira como uma pessoa toma banho é um
algoritmo. Outros algoritmos freqüentemente encontrados são:

       •   instruções para se utilizar um aparelho eletrodoméstico;
       •   uma receita para preparo de algum prato;
       •   guia de preenchimento para declaração do imposto de renda;
       •   a regra para determinação de máximos e mínimos de funções por derivadas sucessivas;
       •   a maneira como as contas de água, luz e telefone são calculadas mensalmente;
       •   São vários os conceitos para algoritmo. Escolhemos alguns para serem apresentados aqui:

       “Um conjunto finito de regras que provê uma seqüência de operações para resolver um tipo de
       problema específico”
       [KNUTH]

       “Seqüência ordenada, e não ambígua, de passos que levam à solução de um dado problema”
       [TREMBLAY]

       “Processo de cálculo, ou de resolução de um grupo de problemas semelhantes, em que se
       estipulam, com generalidade e sem restrições, as regras formais para a obtenção do resultado
       ou da solução do problema”
       [AURÉLIO]

   Um algoritmo é formalmente uma seqüência finita de passos que levam a execução de uma tarefa. Podemos
   pensar em algoritmo como uma receita, uma seqüência de instruções que dão cabo de uma meta específica.
   Estas tarefas não podem ser redundantes nem subjetivas na sua definição, devem ser claras e precisas. Até
   mesmo as coisas mais simples, podem ser descritas por seqüências lógicas.

2. POR QUE PRECISAMOS DE ALGORITMOS?

       A importância do algoritmo está no fato de termos que especificar uma seqüência de passos lógicos para
que o computador possa executar uma tarefa qualquer, pois o mesmo por si só não tem vontade própria, faz
apenas o que mandamos. Com uma ferramenta algorítmica, podemos conceber uma solução para um dado
problema, independente de uma linguagem específica e até mesmo do próprio computador.
       Para que um computador possa desempenhar uma tarefa é necessário que esta seja detalhada
passo a passo, numa forma compreensível pela máquina, utilizando aquilo que se chama de programa.
       Neste sentido, um programa de computador nada mais é que um algoritmo escrito numa forma
compreensível pelo computador.


3. FORMAS DE APRESENTAÇÃO DE ALGORITMOS

Linguagem Natural
      Os algoritmos são expressos diretamente em linguagem natural.
Fluxograma Convencional
      Esta é um representação gráfica que emprega formas geométricas padronizadas para indicar as diversas
      ações e decisões que devem ser executadas para resolver o problema.

                                                                                                             1
Pseudo-linguagem
      Emprega uma linguagem intermediária entre a linguagem natural e uma linguagem de programação para
      descrever os algoritmos.

       Não existe consenso entre os especialistas sobre qual seria a melhor maneira de representar um
algoritmo. Atualmente a maneira mais comum de representar-se algoritmos é através de uma pseudo-linguagem
ou pseudo-código. Esta forma de representação tem a vantagem de fazer com que o algoritmo seja escrito de
uma forma que está próxima de uma linguagem de programação de computadores.

4. FASES DE UM ALGORITMO

Vimos que ALGORITMO é uma seqüência lógica de instruções que podem ser executadas.

Entretanto ao montar um algoritmo, precisamos primeiro dividir o problema apresentado em três fases
fundamentais.




Onde temos:
ENTRADA: São os dados informados, lidos, digitados pelo usuário.
PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final
SAÍDA: São os dados já processados e mostrados no vídeo ou na impressora.

4.1 Método para construir um algoritmo

1. Ler atentamente o enunciado
Deve-se reeler o enunciado de um exercício quantas vezes for necessário, até compreendê-lo completamente. A
maior parte da resolução de um exercício consiste na compreensão completa do enunciado.

2. Retirar a relação das entradas de dados do enunciado
Através do enunciado, descobrimos quais são os dados que devem ser fornecidos ao programa, via teclado, a
partir dos quais são desenvolvidos os cálculos. Obs. Pode haver algum algoritmo que não necessite da
entrada de dados (pouco comum).

3. Retirar do enunciado, a relação das saídas das informações
Através do enunciado podemos descobrir quais são as informações que devem ser mostradas para compor o
resultado final, objetivo do algoritmo.

4. Determinar o que deve ser feito para transformar as entradas nas saídas especificadas
Nessa fase é que teremos a construção do Algoritmo propriamente dito. Devemos determinar qual sequência de
passos ou ações é capaz de transformar um conjunto de dados nas informações de resultado


Exemplo de Algoritmo
Imagine o seguinte problema: Calcular a média final dos alunos da 3ª Série, sendo que os alunos realizarão
quatro provas: P1, P2, P3 e P4. Onde: Média Final = P1+P2+P3+P4
                                                          4
Para montar o algoritmo proposto, faremos três perguntas:

a) Quais são os dados de entrada?
R: Os dados de entrada são ...
b) Qual será o processamento a ser utilizado?
R: O procedimento será ...
                                                                                                            2
c) Quais serão os dados de saída?
R: O dado de saída será ...

5. 1ª FORMA DE ESCRITA DE ALGORITMO - LINGUAGEM NATURAL

Faz-se uso do português para descrever algoritmos e tem a vantagem de que não há a necessidade de aprender
nenhum conceito, basta saber como se faz para resolver um determinado problema.

5.1 Regras para construção do Algoritmo na linguagem natural

Para escrever um algoritmo precisamos descrever a seqüência de instruções, de maneira simples e objetiva.
Para isso utilizaremos algumas técnicas:
* Usar preferencialmente um verbo por frase
* Imaginar que você está desenvolvendo um algoritmo para pessoas que não trabalham com informática
*Usar frases curtas e simples
* Ser objetivo
*Procurar usar palavras que não tenham sentido dúbio


EXEMPLO 1: Calcular a massa corpórea de uma pessoa

Informe o peso da pessoa
Informe a altura da pessoa
A massa corpórea é o peso dividido pelo dobro da altura
Mostre a massa corporea

EXEMPLO: Cálculo da média de 4 notas

Informe a nota da prova1
Informe a nota da prova2
Informe a nota da prova3
Informe a nota da prova4
A média final é a soma de todas as notas dividida por 4
Mostre a média final.

 ATIVIDADES 1


1) Identifique os dados de entrada, processamento e saída nos algoritmos abaixo:

a)     Informe código da peça
       Informe valor da peça
       Informe Quantidade de peças
       O valor total da peça é a quantidade de peças multiplicada pelo valor da peça
       Mostre o código da peça e seu valor total

b)     Informe cotação do dólar
       Informe valor em dólares
       O valor em reais é a multiplicação da cotação pelo valor do dólar
        Mostre o resultado da conversão em Real

c)     Informe quatro valores
       Somar o quadrado de cada um
       Mostre o resultado da soma dos quadrados

                                                                                                        3
2) Para cada um dos exercícios abaixo: Identifique os dados de entrada, processamento e saída e faça um
algoritmo na linguagem natural:

a) Escreva um algoritmo que calcula e mostra o dobro de um número.

b) Construa um algoritmo para calcular e mostrar o valor da comissão de um vendedores de peças. Levando-se
em consideração que sua comissão será de 5% do total da venda e que você tem os seguintes dados:
* Preço unitário da peça
* Quantidade vendida da peça

c) Calcular e mostrar o perímetro e a área de um quadrado

d) Todo restaurante, embora por lei não possa obrigar o cliente a pagar, costuma cobrar 10% para o garçom.
Fazer um algoritmo calcula e mostra o valor da gorjeta e o total da conta com a gorjeta.

e) Informe o número de horas trabalhadas, o valor que recebe por hora, o valor do salário família. Com estas
informações calcular e mostrar o salário total deste trabalhador.

f) Elaborar um algoritmo para entrar com o saldo de uma aplicação e mostrar o novo saldo, considerando 1 mês
e aplicação e o reajuste de 2% ao mês.


6. 2ª FORMA DE ESCRITA DE ALGORITMO - FLUXOGRAMA
Utilização de símbolos gráficos para representar algoritmos. No fluxograma existem símbolos padronizados
para início, entrada de dados, cálculos, saída de dados, fim, etc. É representado por diagrama de blocos.

Diagrama de Bloco
O diagrama de blocos é uma forma padronizada e eficaz para representar os passos lógicos de um determinado
processamento.
Com o diagrama podemos definir uma seqüência de símbolos, com significado bem definido, portanto, sua
principal função é a de facilitar a visualização dos passos de um processamento.

Simbologia
Existem diversos símbolos em um diagrama de bloco.Veja no quadro abaixo alguns dos símbolos que iremos
utilizar:

     SÍMBOLO                                                 FUNÇÃO
                       Indica o Início ou Fim de um processamento

                       Símbolo que se utiliza para entrada de dados


                       Símbolo que se utiliza para indicar o processamento


                       Símbolo que se utiliza para indicar uma decisão a ser tomada, indicando a possibilidade
                       de desvios.

                       Símbolo utilizado quando é preciso particionar o diagrama, permitindo o desvio para um
                       ponto qualquer do algoritmo

                       Símbolo que se utiliza para saída de dados



                                                                                                             4
Exemplos de diagrama de blocos: Veja que no exemplo da média utilizamos cálculo e exibimos o resultado do
mesmo.
                                     INICIO



                         NOTA DA PROVA 1


                        NOTA DA PROVA 2


                        NOTA DA PROVA 3

                        NOTA DA PROVA 4


                 A MÉDIA FINAL É A SOMA DAS 4 PROVAS DIVIDIDA
                 POR 4

                                                                       FIM
                      L
                      A
                      N
                      FI
                      A
                      DI
                      É
                      M
                      A
                      R
                      A
                      R
                      ST
                      O
                      M


 ATIVIDADES 2


1) Construa um diagrama de blocos para os exercícios da atividade 1:

7. PSEUDO-LINGUAGEM- PORTUGUES ESTRUTURADO

       Consiste na definição de uma pseudolinguagem de programação, cujos comandos são em português,
para representar algoritmos.
       Embora o Português Estruturado seja uma linguagem bastante simplificada, ela possui todos os
elementos básicos e uma estrutura semelhante à de uma linguagem de programação de computadores.
       Portanto, resolver problemas com português estruturado pode ser uma tarefa tão complexa quanto a de
escrever um programa em uma linguagem de programação qualquer, só não tão rígida quanto a sua
sintaxe, ou seja, o algoritmo não deixa de funcionar porque esquecemos de colocar um ';' (ponto-e-vírgula)
por exemplo, já um programa não funcionaria.

7.1 ESTRUTURA DE UM ALGORITMO NO PORTUGUES ESTRUTURADO: devemos definir uma
sintaxe e uma semântica, de forma a permitir uma única interpretação das instruções num algoritmo.


Programa Nome_Do_Algoritmo                         Programa CALCULA_DOBRO
var                                                Var
      Declaração das variáveistipo de dado               NUM, DOBRO  inteiro
                                                   início
Início                                                    Leia( NUM)
         instruções                                       DOBRO  2 * NUM
                                                          Escreva (DOBRO)
Fim                                                fim




                                                                                                        5
7.2. ITENS FUNDAMENTAIS PARA A FORMA PORTUGUES ESTRUTURADO

Correspondem aos recursos necessários para formalizar os algoritmos.

7.2.1 Variáveis


       Sabe-se da Matemática que uma variável é a representação simbólica dos elementos de um
certo conjunto.


        Nos Algoritmos, Destinados A Resolver Um Problema No Computador, A
       Cada Variável Corresponde Uma Posição De Memória, Cujo Conteúdo Pode
        Variar Ao Longo Do Tempo Durante A Execução De Um Programa. Embora
       Uma Variável Possa Assumir Diferentes Valores, Ela Só Pode Armazenar
                             Um Valor A Cada Instante.

       Toda variável é identificada por um nome. Assim, por exemplo, um algoritmo para cálculo das
raízes de uma equação de 2o grau (ax2 + bx + c = 0 ), os nomes A, B e C podem representar as
posições de memória que armazenam os coeficientes da equação, fazendo, neste caso, o papel das
variáveis na matemática.


                     Toda Variável É Identificada Por Um Nome.



7.2.2 Regras para a Formação de Nomes de Variáveis

a) O nome de variável é formado por um ou mais caracteres;
b) Os caracteres permitidos são letras de “A” a “Z”, números de “0” a “9”, e o caracter especial
   underline(_);
c) O primeiro caracter deve, obrigatoriamente, ser uma letra e os caracteres seguintes, letras ou
   dígitos;
d) O underline(_), quando permitido, somente pode aparecer entre caracteres ou dígitos, nunca no
   início ou no final;
e) O tamanho de um nome de variável varia de linguagem para linguagem de programação;
f) Não pode ser uma palavra chave ou palavra reservada.
g) Não pode haver espaços em branco entre os caracteres.

Variáveis válidas: NOME, FONE, IDADE_FILHO, IdadeFilho, NOTA1, Est_Civil
Variáveis inválidas: 3Endereco, Estado Civil, PARA, algoritmo, numero/complemento, Média

As palavras “PARA e algoritmo” são variáveis inválidas, pois são palavras reservadas da linguagem, veja
outras palavras que você não deve utilizar como identificadores de variáveis.




                                                                                                          6
Variáveis de Entrada armazenam informações fornecidas por um meio externo, normalmente usuários ou
discos.
Variáveis de Saída armazenam dados processados como resultados.
Exemplo:
                        A B CA+B
                         A B
                         C

                        2        5       7

De acordo com a figura acima A e B são Variáveis de Entrada e C é uma Variável de Saída.

7.2.3 Tipos de Dados das Variáveis

As variáveis podem armazenar basicamente de três tipos básicos de dados: Numéricas, Alfanuméricas(Literais
ou caracter) ou lógicas.

Numéricas Específicas para armazenamento de números, que posteriormente poderão ser utilizados para
cálculos. Podem ser ainda classificadas como Inteiros ou Reais.
              Inteiro: admite somente números inteiros. Geralmente é usado para representar contagem
              (quantidade). Ex: idade, número de sapato, número de casa, apto, etc
              Real : admite números com ou sem casas decimais, onde a vírgula é substituída por ponto.
              Geralmente é usado para representar medição, valores monetários, etc.
Alfanuméricas Específicas para dados que contenham letras, números ou caracteres de pontuação. Pode em
determinados momentos conter somente dados numéricos ou somente literais. Se usado somente para
armazenamento de números, não poderá ser utilizada para operações matemáticas.. Ex: endereço, data, etc
Lógicas Armazenam somente dados lógicos que podem ser Verdadeiro ou Falso.

 ATIVIDADES 3


1) Identifique o tipo de dado ideal para se representar as seguintes informações:
a) O número da conta bancária
b) A altura de uma pessoa em metros
c) A placa de um veículo
                                                                                                        7
d) O número de filhos de uma pessoa
e) A cor de um objeto

2) Identificar os tipos dos seguintes dados:
a) Processamento de Dados
b) 0.4
c) 45.80
d) 97015-200
e) '?'
f) ' '
g) (55) 3332-1231
h) Appel, nº 12
i) 10/10/1987
j) 0

3) Sublinhar os nomes de variáveis válidos:
a) VALOR
b)@xyz
c)AH!
d)”SOMA”
e)IGUAL_A

4) Supondo que as variáveis Nota, NA, MAT e SX sejam utilizadas para armazenar respectivamente a nota do
aluno, o nome do aluno, o número da matrícula e o sexo, indique o tipo de dado adequado que cada uma poderá
armazenar.

5) Selecione os nomes Válidos para uma variável.
a) _Salario       c) Nota3           e) 4Nota        g) Soma Total     i) Maior

b) Casa           d) Valor_Total     f) $Salário     h) NOTA           j) 2005

6) Marque a(s) Opção(ões) errada(s), sublinhe onde está o erro e corrija o mesmo:
   a) Uma variável Inteira pode receber o valor de uma Multiplicação. _____________
   b) Para uma divisão( / ) qualquer a variável usada deve ser do tipo real. __________
   c) Uma variável String recebe somente Letras. ______________
   d) Uma variável Real não recebe o valor de uma variável Inteira. _______________
   e) Não se pode somar uma variável Real com uma Inteira. ___


7.3 Operadores

Os operadores são meios pelo qual incrementamos, decrementamos, comparamos e avaliamos dados dentro do
computador. Temos três tipos de operadores:
Operador de Atribuição
 Operadores Aritméticos
 Operadores Relacionais
 Operadores Lógicos

7.3.1 Operador de Atribuição

          Uma variável nunca é eternamente igual a um valor, seu conteúdo pode ser alterado a qualquer
momento. Portanto para “colocar” valores em variáveis devemos usar o sinal de uma seta( ) apontando para
esquerda.

                                                                                                            8
Exemplo 1 (correto)
Peso  78.7 // Este comando atribui à variável Peso o valor 78.7.
Nome  João da Silva // Este comando atribui à variável Nome o valor João da Silva.


Exemplo 2 (incorreto)
É importante lembrar que só se pode atribuir às variáveis, valores do mesmo tipo da variável. Assim, o
seguinte comando seria inválido:

Salario Insuficiente

A variável Salário é do tipo real não pode armazenar conteúdo literal

Exemplo 3 (incorreto)
Deve estar claro, também, que sempre à esquerda do comando de atribuição deve haver um (e
somente um) identificador de variável. Assim, são incorretos os seguintes comandos:

           2060  NumeroConta
           NumeroAgencia+digitoControle  2345 + 0


7.3.2 Operadores Aritméticos

Os operadores aritméticos são os utilizados para obter resultados numéricos. Além da adição, subtração,
multiplicação e divisão, podem utilizar também o operador para exponenciação. Os símbolos para os
operadores aritméticos são:

OPERAÇÃO                           SÍMBOLO         SINTAXE
Adição                             +               CA+B
Subtração                          -               CA-B
Multiplicação                      *               CA*B
Divisão                            /               CA/B
Exponenciação                      ^               CA^B
Raiz Quadrada                      SQRT            CSQRT(A)
Parte inteira de nº                TRUNC           CTRUNC(A)
Arredondamento de nº               ROUND           CROUND(A)

Hierarquia das Operações Aritméticas
1 º ( ) Parênteses
2 º Exponenciação
3 º Multiplicação, divisão (o que aparecer primeiro)
4 º + ou – (o que aparecer primeiro)

Exemplo




                                                                                                         9
ATIVIDADES 4


1) 5 Variáveis(A, B, C, D e R) são declaradas no inicio de 3 programas. Encontre os 3 valores de R :

a) A  5;                    b) A Length(Casa);         c) A = 3.6;
   B  A * 3;                   B  Sqr(A);                 B  Sqr(Trunc(A));
   C  A + (B / 3);             C  (B / A) + 10;           C  Round(A) * B;
   D  Sqr(C) / A;              D  C / Sqrt(A);            D  Sqrt(C) + Round(A);

    R  Sqrt(D+A) * A;          R ((A + B) / D) + C;        R (D * B) / C;

      R: ____________              R: ____________                R: ____________

                       − b + b 2 − 4ac
2) Escreva a Fórmula                   em linguagem de programação, usando os operadores aritméticos.
                             2a



Operadores Relacionais
Os operadores relacionais são utilizados para comparar caracteres e números. Os valores a serem comparados
podem ser caracteres ou variáveis.
Estes operadores sempre retornam valores lógicos (verdadeiro ou falso/ True ou False) Para estabelecer
prioridades no que diz respeito a qual operação executar primeiro, utilize os parênteses. Os operadores
relacionais são:

                      Descrição                Símbolo
                         Igual                    =
                     Diferente de                <>
                      Maior que                   >
                      Menor que                   <
                    Maior ou igual a             >=
                    Menor ou igual a             <=


Exemplo:
Tendo duas variáveis A=5 e B=3

Os resultados das expressões seriam:
    Expressão              Resultado
      A=B                    Falso
      A<>B                 Verdadeiro
      A>B                  Verdadeiro
      A<B                    Falso
      A>=B                 Verdadeiro
      A<=B                   Falso

Operadores Lógicos
Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é
verdadeiro ou falso.
Os operadores lógicos são: E / AND ; OU / OR ; NOT

                                                                                                         10
A tabela abaixo mostra todos os valores possíveis criados pelos três operadores lógicos:

1º Valor          Operador           2º Valor          Resultado
       V              AND                   V                V
       V              AND                   F                 F
       F              AND                   F                 F
       F              AND                   F                 F
       V               OR                   V                V
       V               OR                   F                V
       F               OR                   V                V
       F               OR                   F                 F
       V              NOT                                     F
       F              NOT                                    V

Exemplo:
Supondo que tem-se três variáveis A=5, B=8 e C=1 os resultados das expressões seriam:

Expressão         Operador           Expressão         Resultado
    A=B               AND                B>C                  F
    A<>B               OR                B<C                 V
    A>B               NOT                                    V
    A<B               AND                  B>C               V
    A>=B               OR                  B=C                F
    A<=B              NOT                                     F


Expressões Lógicas : Operações Lógicas são utilizadas quando se torna necessário tomar decisões em um
diagrama de bloco.
Num diagrama de bloco, toda decisão terá sempre como resposta o resultado VERDADEIRO ou FALSO.



 ATIVIDADES 5

1) Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os valores abaixo. Informe se as expressões
são verdadeiras ou falsas.

SALARIO             IR                   SALLIQ                EXPRESSÃO                    V ou F
100,00              0,00                 100                   (SALLIQ >= 100,00)
200,00              10,00                190,00                (SALLIQ < 190,00)
300,00              15,00                285,00                SALLIQ = SALARIO -IR

2) Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são verdadeiras ou falsas.
a) (A+C) > B ( )
b) B >= (A + 2) ( )
c) C = (B –A) ( )
d) (B + A) <= C ( )
e) (C+A) > B      ()

3) Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões abaixo são verdadeiras ou falsas.
a) (A > C) AND (C <= D)          ()
b) (A+B) > 10 OR (A+B) = (C+D)           ()
c) (A>=C) AND (D >= C)           ()
                                                                                                     11
4) Atribua valores verdade para as seguintes proposições:
 a) 3 7 e 4 é um inteiro impar.
 b) 3 7 ou 4 é um inteiro impar.
 d) 5 é impar ou divisível por 4.
 e) Não é verdade que (2 +2 = 5 e 5 7).
 f) Não é verdade que (2 + 2 = 5 ou 5 7).
 g) 3 3.

5) De acordo com os valores fornecidos na tabela ao lado, faça um teste de mesa com o diagrama abaixo:
                          INICIO



                       SALBASE


                       GRATIF


                 SALBRUTO=SALBASE+GRATI
                           F

                         SALBRUTO
       Não                 <1000           Sim
    IR=SALBRUTO*(20/10                       IR=SALBRUTO*(15/10
                                                        IQ
                                                        LL
                                                        A
                                                        S




                      SALLIQ=SALBRUTO-IR                                  FIM




                                                                                                         12
8.COMANDOS DE I/O (INPUT/OUTPUT):

       São os comandos que representam a comunicação entre o usuário e a máquina.


       LEIA é o comando de entrada que permite a leitura de Variáveis de Entrada.


       Nem todos os dados que um algoritmo manipula são gerados por ele. Um algoritmo (programa)
de caixa automático, por exemplo, tem que obter do usuário o número da conta, a senha, a opção de serviço
desejada, etc. Assim, deve haver um meio para que sejam digitados (ou fornecidos de outra maneira) dados para
o algoritmo. Mais uma vez, todas as linguagens de programação permitem isto, e no nosso Português
Estruturado usamos o comando leia. A sintaxe deste comando é:
       Leia (nome da variável de entrada)

       ESCREVA é o comando de saída que exibe uma informação a qual pode ser o resultado de uma
variável ou mensagem na tela do monitor.
        Em geral, um programa que faz seu processamento e não tem como mostrar seus resultados é
inútil (imagine, por exemplo, uma calculadora que realiza uma infinidade de operações matemáticas, mas
não tem um display para mostrar os resultados!). Portanto, em algum ponto do algoritmo geralmente deve
ocorrer à exibição de valores, e todas as linguagens de programação têm comandos para este fim. Em
Português Estruturado usamos o comando escreva. A sintaxe deste comando é:
       Escreva (nome da variável de saida)       ou           Escreva(‘mensagem’, variável de saida)

       Exemplo 1:                                            Exemplo 2:
       X  3.5                                               X  3.5
       Y4                                                   Y4
       CX+Y                                                 CX+Y
       Escreva ( X)                                          Escreva (‘O valor de X é’, X)
       Escreva ( Y)                                ou        Escreva (‘ E o valor de Y é ‘, Y)
       Escreva (C)                                           Escreva (‘ A soma de X e Y é’, X+Y)


       Faria com que aparecesse na tela:                     Faria com que aparecesse na tela:


       3.5                                                   O valor de X é 3.5
       4                                                     E o valor de Y é 4
       7.5                                                   A soma de X e Y é 7.5


       IMPRIMA  Comando de saída que envia uma informação para a impressora.




                                                                                                          13
9.CORPO GERAL DE UM PROGRAMA

      PROGRAMA nomedoprograma
      VAR
              Listar as variaveis entre vírgula definir o tipo de dado
      ÍNICIO
                            COMANDOS DE ENTRADA,
                                 PROCESSAMENTO
                             COMANDOS DE SAÍDA
      FIM.


   Ex: Algoritmo 1

       Segue um Algoritmo(Português Estruturado) que lê o nome e as 4 notas bimestrais de um aluno. Em
seguida o Algoritmo calcula e escreve a média obtida.

      PROGRAMA MEDIA_FINAL
      VAR
           NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: INTEIRO
           NOME : CARACTERE [35]
      INICIO
           LEIA (NOME)
           LEIA (NOTA1, NOTA2, NOTA3, NOTA4)
           MEDIA  (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4
           ESCREVA (NOME, MEDIA)
      FIM.

    Ex: Algoritmo 2

       Segue um Algoritmo que lê o raio de uma circunferência e calcula sua área.

      PROGRAMA AREA_CIRCUNFERENCIA
      VAR
            R, A : REAL
      INICIO
           LEIA (R)              {ENTRADA}
           A  3.14 * SQR(RAIO)   {PROCESSAMENTO}
           ESCREVA (‘ÁREA =’, A) {SAÍDA}
       FIM.

OBS: Você pode mandar uma mensagem antes para o usuário, assim ele sabe qual é o conteúdo que
deve ser colocado, ou seja, digitado.




                                                                                                         14
Exemplo:
Escreva (‘Digite o nome: ‘)
Leia (N)
Escreva (‘Digite sua agencia: ‘)
Leia (NumeroAgencia)
Escreva (‘Digite sua conta: ‘)
Leia (NumeroConta)

Deve estar claro que sempre à direita do comando leia haverá um identificador de variável.

PASSSOS PARA A CONSTRUÇÃO DE UM ALGORITMO:

De forma genérica, a construção de um algoritmo se resume às seguintes etapas:

a) entendimento do problema;

b) elaboração da solução algorítmica; e

c) codificação da solução no Português Estruturado;

Geralmente a etapa 2 é a mais complexa, pois depende da engenhosidade e experiência

do “construtor”.



Enunciado: Faça um programa que leia dois valores numéricos, e calcule e exiba a
sua média aritmética.
Etapa 1
Dos tempos de escola lembramos que a média aritmética de dois valores é calculada como
(a+b)/2, e sendo assim a primeira etapa já está pronta.
Etapa 2
Os dados necessários serão os dois valores, que colocaremos em duas variáveis A e B, do tipo numérico,
e uma terceira variável, que chamaremos M, que armazenará a média aritmética calculada.
Etapa 3
A obtenção dos dados neste programa é simples e direta. Basta pedir ao usuário que digite os valores.
Etapa 4
O processamento aqui é o cálculo da média, usando o método citado acima, na etapa 1. O resultado do
cálculo será armazenado na variável M.
Etapa 5
Basta exibir o conteúdo da variável M.
Solução:




                                                                                                        15
Programa Calculo_Media
       VAR
                A,B,M  REAL
       Inicio
                Escreva (‘Programa que calcula a média aritmética de dois valores.’)
                Escreva (‘Digite um valor : ‘)
                Leia (A)
                Escreva (‘Digite outro valor : ‘)
                Leia (B)
                M (A+B)/2
                Escreva (‘A média dos dois valores é : ‘, M)
       Fim


ATIVIDADES

Escreva os algoritmos abaixo em português estruturado:

1) Informar três valores e calcular e mostrar a média desses valores.

2) Informar a medida de um lado de um quadrado. Calcular seu perímetro e armazenar em P. Calcular sua área
   e armazenar em A. Mostrar os dados obtidos.

3) Escreva um algoritmo que leia um número inteiro e exiba o dobro do mesmo.

4) Escreva um algoritmo para calcular e exibir a média ponderada de 2 notas dadas.
    (nota1= peso 6 e nota2= peso 4)

5) Escreva um algoritmo para calcular e exibir o comprimento de uma circunferência ( C = 2 ∏ R ), sendo dado
    o valor de seu raio.

6) Escreva um algoritmo para ler uma temperatura dada na escala Fahrenheit e exibir o equivalente em Celsius.

        5
    C = * ( F − 32)
        9
7) Escreva um algoritmo para calcular a área de um triângulo, sendo dados a sua base e a sua altura.

8) Faça um programa que receba o preço de um produto, calcule e mostre o novo preço, sabendo-se que este
sofreu um desconto de 10%.

9) a) Ler 3 valores
   b) Calcular o produto destes valores
   c) Mostrar ‘O produto vale’, o valor do produto

10) Todo restaurante, embora por lei não possa obrigar o cliente a pagar, costuma cobrar 10% para o garçom.
Fazer um algoritmo que leia o valor gasto em um restaurante e mostrar o valor da gorjeta e o total com a
gorjeta.

                                                                                                           16
11)Ler o código de um funcionário, o número de horas trabalhadas, o valor que recebe por hora, o valor do
salário família. Com estas informações calcular o salário total deste trabalhador e mostrar junto como código do
funcionário.

12) Dados 3 valores numéricos, fazer o algoritmo para calcular a raiz quadrada da soma do três valores. Mostrar
o resultado.

13) Elaborar um algoritmo para entrar com o saldo de uma aplicação e mostrar o novo saldo, considerando 1
mês de aplicação e o reajuste de 2% ao mês.



                              ALGORITMOS - ESTRUTURAS DE DECISÃO

Em algumas situações verificamos que na maioria das vezes necessitamos tomar decisões no andamento do
algoritmo. Essas decisões interferem diretamente no andamento do programa. Trabalharemos com dois tipos de
estrutura. A estrutura de Decisão e a estrutura de Repetição

1 Comandos de Decisão
Os comandos de decisão ou desvio fazem parte das técnicas de programação que conduzem a estruturas de
programas que não são totalmente seqüenciais. Com as instruções de SALTO ou DESVIO pode-se fazer com
que o programa proceda de uma ou outra maneira, de acordo com as decisões lógicas tomadas em função dos
dados ou resultados anteriores. As principais estruturas de decisão são: “Se Então”, “Se então Senão”.

1.1 SE ENTÃO / IF ... THEN
A instrução se...então tem por finalidade tomar uma decisão e efetuar um desvio no processamento,
dependendo, é claro, da condição atribuída ser verdadeira ou falsa. Sendo a condição verdadeira, será
executada a instrução que estiver escrita após a instrução se..então. Se a instrução for falsa, serão executadas as
instruções que estejam após as instruções consideradas verdadeiras.

Sintaxe:
se <condição> então
<instrução para condição verdadeira>;
<instrução para condição falsa ou após condição ser verdadeira>;
Vejamos um exemplo de um trecho de programa com o uso da instrução se..então:

se (x > 10) então
escreva(‘O valor da variável X é maior que 10’);

Caso venha a existir mais de uma instrução verdadeira para uma determinada condição, estas deverão estar
inseridas em um bloco. Um bloco é o conjunto de instruções estar entre inicio e fim

Sintaxe:
se <condição> então
inicio
<instrução para condição verdadeira>
<instrução para condição verdadeira>
<instrução para condição verdadeira>
<instrução para condição verdadeira>
fim;
<instrução para condição falsa ou após condição ser verdadeira>

Imagine um algoritmo que determinado aluno somente estará aprovado se sua média for maior ou igual a 5.0,
veja no exemplo de algoritmo como ficaria.

                                                                                                                17
SE MEDIA >= 5.0 ENTÃO ALUNO APROVADO
Em diagrama de blocos ficaria assim: Programa media
                                                 Var
                                                          Media:real
                                                 Inicio
                                                          Leia(Media)
                                                          Se media>=5.0 então
                                                                  Escreva(‘Aluno Aprovado’)
                                                 Fim.




1.2 SE ENTÃO SENÃO / IF ... THEN ... ELSE
Assim como a instrução se...então, a instrução se...então...senão tem por finalidade tomar uma decisão e
efetuar um desvio no processamento. Se a condição for verdadeira será executada a instrução logo abaixo do
se. Sendo a condição falsa, será executada a
instrução que estiver posicionada logo após a instrução senão. O conceito de blocos de instruções vale também
para esta instrução.


Sintaxe:
se <condição> então
<instruções para condição verdadeira>
senão
<instruções para condição falsa>;
Caso venha a existir mais de uma instrução verdadeira ou falsa para uma condição, estas deverão estar inseridas
em um bloco.
Sintaxe:
se <condição> então
inicio
<instruções para condição verdadeira>;
<instruções para condição verdadeira>;
fim
senão
inicio
<instruções para condição falsa>;
<instruções para condição falsa>;
fim;
Observe que nos dois casos abordados acima, qualquer instrução que antecede a instrução senão está escrita
sem o ponto-e-vírgula (;). Isto ocorre pelo fato de a instrução senão ser uma extensão da instrução se...então, e
sendo assim, o final da condição somente ocorre após o processamento da instrução senão executado.

Em algoritmo ficaria assim:

SE MÉDIA >= 5.0 ENTÃO
     Escreva(‘ALUNO APROVADO’)
SENÃO
     Escreva(‘ALUNO REPROVADO’)

Em diagrama


                                                                                                              18
No exemplo acima está sendo executada uma condição que, se for verdadeira, executa o comando
“APROVADO”, caso contrário executa o segundo comando “REPROVADO”. Podemos também dentro de
uma mesma condição testar outras condições.
Como no exemplo abaixo:
                                                     se MEDIA >= 5 então
                                                     inicio
                                                            se MEDIA >= 7.0 então
                                                            inicio
                                                                    escreva(‘Aluno APROVADO’);
                                                            fim
                                                            senão
                                                            inicio
                                                                    escreva(‘Aluno Necessita fazer outra Avaliação’);
                                                            fim
                                                     fim
                                                     senão
                                                     inicio
                                                            escreva (‘Aluno REPROVADO’);
                                                     fim




EXERCÍCIOS ESTRUTURAS DE DECISÃO :

1)            a) Ler os valores de X e Y ;
              b) Se X for maior ou igual a Y calcular a média desses valores e imprimir ‘Media = ‘, valor da
                 média calculada;
              c) Fim.

2) Escreva um algoritmo para ler um número e determinar se ele é maior, igual ou menor que zero.

3) Escreva um algoritmo que leia dois números e exiba o maior deles.

4) Deseja-se calcular a conta de consumo de energia elétrica de um consumidor. Para isto, escreva um

     algoritmo que leia o código do consumidor, o preço do Kw e a quantidade de Kw consumido, e exiba o

     código do consumidor. Calcular o total da conta. Se o total da conta for menor ou igual 11.20, então o total

     a pagar é R$ 11,20. Senão o total a pagar é o total da conta


                                                                                                                        19
6) Dado um número, fazer o algoritmo para calcular e mostar a raiz quadrada desse número se ele for positivo,
se ele for negativo calcular e mostrar o seu quadrado.
7)Fazer o algoritmo para ler as seguintes informações: o nome, altura e o sexo de uma pessoa
       Se sexo for masculino então o peso ideal é (72,7 x altura) – 58, se for feminino o peso ideal é (62,1 x
       altura) – 44,7
       Mostrar:    O nome da pessoa e o seu peso ideal.
8) Escreva um algoritmo que determine o grau de obesidade de uma pessoa, sendo fornecido o peso e a altura

  da pessoa. O grau de obesidade é determinado pelo índice da massa corpórea (Massa = Peso / Altura 2 )

  através da tabela abaixo:
                                        MASSA              GRAU DE
                                      CORPÓREA            OBESIDADE
                                          < 26               Normal
                                       ≥ 26 e < 30            Obeso
                                          ≥ 30            Obeso Mórbido

9) Faça um algoritmo que, dado as três notas de um aluno, determine e exiba a sua média final e o seu conceito,
   sabendo-se que:
       - a média final é calculada pela média aritmética das 3 notas;
       - o conceito é determinado de com base na tabela abaixo:
                                    MÉDIA FINAL             CONCEITO
                                         ≥ 8,0                 A
                                     ≥ 5,0 e < 8,0             B
                                         < 5,0                 C

10) O Botafogo Futebol Clube deseja aumentar o salário de seus jogadores. O reajuste deve obedecer a seguinte
   tabela:
                                   SALÁRIO ATUAL (R$)              AUMENT
                                                                       O
                                        0,00 a 1.000,00              20%
                                      1.000,01 a 5.000,00            10%
                                       acima de 5.000,00              0%
       Escrever um algoritmo que leia o nome e o salário atual de um jogador, e exiba o nome, o salário atual e
       o salário reajustado.

11) Faça um algoritmo para calcular a conta final de um hóspede de um hotel fictício, considerando que:
       a) serão lidos o nome do hóspede, o tipo do apartamento utilizado (A, B, C ou D), o número de diárias
          utilizadas pelo hóspede e o valor do consumo interno do hóspede;
       b) o valor da diária é determinado pela seguinte tabela:
                              TIPO DO APTO.           VALOR DA DIÁRIA (R$)
                                    A                        150,00
                                    B                        100,00
                                    C                         75,00
                                    D                         50,00
       c) o valor total das diárias é calculado pela multiplicação do número de diárias utilizadas pelo valor da
          diária;
                                                                                                             20
d) o subtotal é calculado pela soma do valor total das diárias e o valor do consumo interno;
       e) o valor da taxa de serviço equivale a 10% do subtotal;
       f) a total geral resulta da soma do subtotal com a taxa de serviço.
       g) escreva a conta final contendo: o nome do hóspede, o tipo do apartamento, o número de diárias
          utilizadas, o valor unitário da diária, o valor total das diárias, o valor do consumo interno, o subtotal,
          o valor da taxa de serviço e o total geral.



                                           LINGUAGEM PASCAL

1 Histórico

Origem: desenvolvida nos anos entre 1968 e 1970 por Nicklaus Wirth na Universidade Técnica de Zurique,
Suíça. Em 1970 é disponibilizado o primeiro compilador para a linguagem.
Objetivo: desenvolver uma linguagem de programação disciplinada de alto nível para ensinar programação
estruturada. Esta linguagem foi batizada com o nome de Pascal, em homenagem a Blaise Pascal, filósofo e
matemático francês que viveu entre 1623 e 1662.
Atualizações: durante os últimos anos foram lançadas diversas variações da linguagem Pascal-Padrão,
implementando recursos que não são encontrados na estrutura padrão da linguagem. Nas mãos da Borland, já
foram lançadas as versões 3.0, 4.0, 5.0 e 5.5 na década de 80. Durante a década de 90 foram lançadas as versões
6.0, 7.0 e o lançamento da linguagem Delphi, para programação em ambiente Windows.
Existem diversas linguagens de programação, podemos aprender e utilizar quantas desejarmos. Dizer qual a
melhor é muito relativo. Há os que defendem o Basic, o Cobol, a C, o Pascal e tantas outras.

2 Linguagem de Programação

        Um computador não pode entender nem tão pouco executar instruções em linguagens de alto nível. Ele
só entende linguagem de máquina. Desta forma, os programas em linguagens de alto nível devem ser traduzidos
antes de serem executados pelo computador. Quem faz essa tradução são os programas tradutores.
        Existem basicamente 2 tipos de programa tradutor: o interpretador; e o compilador. Os dois aceitam
como entrada um programa em linguagem de alto nível (fonte) e produzem como saída um programa em
linguagem de máquina (objeto). A diferença entre eles está na forma de executar a tarefa de tradução. O
interpretador traduz para a linguagem de máquina e roda uma linha por vez, até que todo programa seja
executado. Já o compilador traduz para a linguagem de máquina todo o programa fonte e só então ele é
executado.
        Existem linguagens de programação interpretadas e compiladas. O Cobol é compilado, o Basic pode ser
tanto compilado como interpretado e assim por diante. A linguagem Pascal é tradicionalmente compilada.
Por outro lado, o processo de compilação é de certa forma moroso, pois deve seguir as seguintes etapas:

1-) Devemos utilizar um editor de textos para escrever e armazenar em disco o nosso programa fonte.
2-) Utilizar um compilador para traduzir o programa fonte para um programa em linguagem de máquina.
3-) Finalmente, devemos juntar ao programa compilado as diversas rotinas necessárias que, normalmente, ficam
armazenadas numa biblioteca.
Após todo esse processo, suponha que você chegue à conclusão de que o programa tenha que sofrer
modificações, pois bem, você terá que repetir os três passos descritos, e assim sucessivamente até que o
programa fique ao seu gosto.




                                                                                                                 21
Aplicativo Pascal Zim

O compilador Pascal Zim foi desenvolvido Departamento de Ciências da Computação da Universidade
de Brasília possuindo praticamente quase todas as funções do Turbo Pascal.

Comandos principais do aplicativo PASCAL ZIM

Menu Arquivo

Novo : inicializa o editor de texto para a edição de um novo arquivo-fonte.
Abrir :        abre um arquivo-fonte existente. (*.pas)
Salvar e Salvar Como : gravar arquivos-fonte do editor
Sair : abandona o ambiente Pascal zim

Menu Editar

Recortar: cortar .
Copiar : copiar.
Colar : colar.

Menu Compilar

Executar : inicia o processo de compilação, sempre com o arquivo que esteja atualmente no editor. Verifica se
o código fonte possui algum erro. F9
Gerar Executável : compila o arquivo principal, se tiver algum designado. Senão compila o arquivo que
estiver atualmente editado e gera o arquivo executável no mesmo diretório onde se encontra o arquivo fonte
(*.pas)

3. ESTRUTURA DO PROGRAMA EM PASCAL

Todo programa fonte escrito em Pascal obedece a seguinte forma geral:

                        program nome;
                        var lista de variáveis: tipo;
                        begin

                                             corpo do programa com comandos e     estruturas


                        end.
em que:
program, var, begin, end – são palavras reservadas
nome – identifica o programa
; é um delimitador, indica fim de uma instrução
lista de variáveis – pode ser um ou mais nomes de variáveis separados por vírgulas
: delimitador
tipo indica o tipo de dado da variável
corpo do programa – contém os comandos e as estruturas que definem o que o programa deve executar. Devem
estar entre as palavras reservadas begin e end. Devem ser escritos linha por linha, para maior clareza,
obedecendo à sintaxe própria da linguagem.

4. TIPO DE DADOS



                                                                                                          22
Os dados são representados pelas informações a serem processadas por um computador. Um tipo de dados
especifica as características, ou seja os valores e operações possíveis de serem utilizados com um dado desse
tipo. Toda variável e constante usada em um programa tem um tipo associado a ela. A linguagem Pascal
fornece ao programador um conjunto de tipos de dados predefinidos.

4.1 Tipos de Dados Inteiros
São caracterizados tipos inteiros, os dados numéricos positivos ou negativos, excluindo-se qualquer número
fracionário. Em Pascal, este tipo de dado pode ser referenciado por um dos seguintes identificadores:


Tipo de dado                                              Tamanho(byte
                          Faixa de abrangência
inteiro                                                   s)
      shortint               de –128 até 127                 1 byte
      integer             de –32.768 a 32.767                2 bytes
                      de –2.147.483.648 a
      longint                                                 4 bytes
                      2.147.483.647
       byte                    de 0 até 255                   1 byte
       word                   de 0 até 65535                  2 bytes

4.2 Tipos de Dados Reais
O tipo de dado real permite trabalhar com números fracionários, tanto positivos como negativos, sendo sua
capacidade de armazenamento maior que dos números inteiros. Vejamos os tipos:


Tipo de dado                                              Tamanho(byte
                         Faixa de abrangência
real                                                      s)
       real             de 2.9 e-39 até 1.7 e38               6 bytes
     single             de 1.5 e-45 até 3.4 e38               4 bytes
     double            de 5.0 e-324 até 1.7e308               8 bytes
   extended          de 3.4 e-4.932 até 1.1 e4.932           10 bytes
      comp              de –9.2 e18 até 9.2 e18               8 bytes


4.3 Tipos de Dados Caracteres

São considerados tipos caracteres, as seqüências contendo letras, números e símbolos especiais. Uma seqüência
de caracteres, em Pascal, deve ser representada entre apóstrofos (‘’). Este tipo de dado é referenciado pelo
identificador string, podendo armazenar de 1 até 255 caracteres. Podemos ainda especificar um tamanho menor
do que os 255 caracteres permitidos. Vejamos a sintaxe para criarmos uma variável do tipo string com tamanho
limitado.
Sintaxe:
variável : string[tamanho];
Vejamos um exemplo do uso de strings:
var
Frase : string;
Nome : string[45];
Existe ainda o tipo char, utilizado da mesma forma que o tipo string, porém com uma pequena diferença: é
usado para strings de apenas um caracter. Vejamos um exemplo do tipo de dado char:
var
Sexo : char

4.4 Tipos Lógicos



                                                                                                          23
São caracterizados tipos lógicos, os dados com valores true (verdadeiro) e false (false). Este tipo de dado
também e chamado de tipo boleano. Ele é representado pelo identificador boolean. Vejamos um exemplo da
utilização do tipo de dado boolean:
var
Aprovado : boolean;
Confirma : boolean;

5 Comandos na Linguagem PASCAL
As instruções em um PROGRAMA FONTE correspondem aos comandos e estruturas do algoritmo e obedecem
a uma sintaxe própria com palavras reservadas que possuem um sentido pré-determinado para o compilador
PASCAL.

5.1)Comandos de atribuição:

                 nos algoritmos                         variável ← expressão
                 na Linguagem PASCAL                    variável : = expressão;

        Exemplo: A:= 3;

OBS: expressão obedece às regras vistas, lembrando que a linguagem PASCAL tem uma Biblioteca de funções
embutidas e que não existe o operador potenciação. Se for necessário executar uma potenciação é preciso usar
uma combinação de funções embutidas.

Exemplo:     X5 ⇒ EXP (5 * LN (X))
             X2 ⇒ SQR (X)

5.2) Comandos de entrada:


                 no algoritmo                   leia lista de variáveis
                 na Linguagem PASCAL            readln (lista de variáveis);

Exemplo: readln (A, B, C);                   os dados são introduzidos, via teclado, separados por um espaço
                                             em branco ou a cada valor é pressionado ENTER, mudando de
                                             linha o que equivale a:
                              readln (A);
                              readln (B);
                              readln (C);

5.3) Comandos de saída:


                   no algoritmo             escreva lista de variáveis e/ou constantes
                   na Linguagem PASCAL             writeln (lista de variáveis e/ou constantes);


Exemplo: writeln (‘SOMA = ‘ , S);                 esse comando exibe o conteúdo da variável contida na posição
                                                     de memória identificada
por S antecedido da mensagem SOMA =.


OBS: 1) para gerar telas mais amigáveis, tornando mais agradável e fácil a interação do usuário com o
programa é usado o comando de entrada antecedido do comando de saída com um texto explicativo. Os 2

                                                                                                           24
comandos, write e readln, fazem com que seja exibida a mensagem contida no comando write e que o cursor
se posicione na mesma linha esperando a entrada da informação correspondente. A forma é:


                   write(‘comentário’); readln(nome da variável );


Exemplo: write(‘Digite o numero de dados’); readln(N);



Exemplo 1: Fazer o algoritmo e escrever o PROGRAMA FONTE que leia 3 números inteiros e imprima o seu
produto.


       Dados de Entrada { - 3 valores


       Pede (processamento) { - o produto destes valores


                       - 1 nome de variável para cada valor X, Y, Z
       Necessita
                        - 1 nome para o produto P


       programa produto                             program produto;
       var                                          var
                X,Y,Z,P:inteiro                                   X, Y, Z, P: integer;
       inicio                                       begin
                ler (X, Y, Z)                                     readln (X,Y,Z);
                P  X*Y*Z                                            P:=X*Y*Z;
                escreva (PRODUTO =’ , P)                             writeln (‘Produto = ’ ,P) ;
       fim.                                         end.



       Para uma tela mais amigável a etapa de entrada de dados deveria ser escrita da seguinte forma:
                   write( ‘Digite o valor de X ’ ); readln(X);
                   write( ‘Digite o valor de Y ’ ); readln(Y);
                   write( ‘Digite o valor de Z ’ ); readln(Z);




OUTROS COMANDOS NO PASCAL:

1) TextBackGround

Este procedimento seleciona a cor do fundo sobre o qual o texto será escrito.

                                                                                                        25
Sua sintaxe geral é: TextBackGround(cor);
Nós podemos entrar com o número ou o nome da cor em inglês

Exemplo:

      Program Exemplo;
      Uses CRT;
      Begin
        ClrScr;
        TextBackGround(Red);
        Writeln('teste');
        TextBackGround(white);
        Writeln('teste');
        Readln;
      End.
2) TextColor

  Este procedimento permite selecionar a cor com que o texto será impresso.
  Exemplo:

      Program Exemplo;
      Uses CRT;
      Begin
        Clrscr;
        TextColor(red);
        writeln('teste');
        TextColor(blue);
        write('teste');
       readln;
      End.
                                                 Tabela de cores

                            0.    Black                            Preto
                            1.    Blue                             Azul
                            2.    Green                            Verde
                            3.    Cyan                             Ciano
                            4.    Red                              Vermelho
                            5.    Magenta                          Magenta
                            6.    Brown                            Marrom
                            7.    LightGray                        Cinza-claro
                            8.    DarkGray                         Cinza-escuro
                            9.    LightBlue                        Azul-claro
                            10.   LightGreen                       Verde-claro
                            11.   LightCyan                        Ciano-claro
                            12.   LightRed                         Vermelho-claro
                            13.   LightMagenta                     Magenta-claro
                            14.   Yellow                           Amarelo
                            15.   White                            Branco
                            16.   Blink                            Piscante

3)Gotoxy - esse comando permite posicionar o cursor em uma determinada posição da tela. É preciso fornecer
os 2 parâmetros que determinam a linha e a coluna da posição. O gotoxy deve preceder o comando de saída e
possui a seguinte forma geral:
                gotoxy(coluna, linha);

                                                                                                        26
em que:
gotoxy – palavra chave
coluna – é o parâmetro que determina a coluna relacionada ao ponto onde deve ser exibida a próxima saída de
dados. A coluna varia de 1 a 80.
linha – é o parâmetro que determina a linha relacionada ao ponto onde deve ser exibida a próxima saída de
dados. A linha varia de 1 a 25.
Exemplo:    program exemplo3;
             uses crt;
             var mat,nome:string;
             begin
               clrscr;
                gotoxy (5,10); writeln(‘Digite a matricula do aluno’); readln(mat );
                gotoxy (5,12); writeln(‘Digite o nome do aluno’); readln(nome);
              write (‘Matrícula é ’, mat, ‘Nome é :’,nome);
              readln;
             end.


4) Delay ou Readkey- Suspende a execução do programa durante X milissegundos ou suspende a execução de
um programa a partir de uma tecla pressionada.


Sintaxe                                    Sintaxe
delay ( 10000 ) ;                          readkey;




                                                                                                            27

Mais conteúdo relacionado

Mais procurados

Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAislan Rafael
 
Logica Algoritmo 01 Introducao A Logica
Logica Algoritmo 01 Introducao A LogicaLogica Algoritmo 01 Introducao A Logica
Logica Algoritmo 01 Introducao A LogicaRegis Magalhães
 
Algoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introduçãoAlgoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introduçãoMauro Pereira
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de ProgramaçãoAdao Chiavelli
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação12anogolega
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmosMauro Pereira
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Gercélia Ramos
 
Introdução a Lógica e a Algoritmos
Introdução a Lógica e a AlgoritmosIntrodução a Lógica e a Algoritmos
Introdução a Lógica e a AlgoritmosMicael Coutinho
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosElaine Cecília Gatto
 
Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3Robson Ferreira
 
Aula 2 - Lógica de Programação
Aula 2 - Lógica de ProgramaçãoAula 2 - Lógica de Programação
Aula 2 - Lógica de ProgramaçãoInstituto CENTEC
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmosjormad
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturadodasko
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 

Mais procurados (20)

Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 
Logica Algoritmo 01 Introducao A Logica
Logica Algoritmo 01 Introducao A LogicaLogica Algoritmo 01 Introducao A Logica
Logica Algoritmo 01 Introducao A Logica
 
Algoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introduçãoAlgoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introdução
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritimo - Raul
Algoritimo - RaulAlgoritimo - Raul
Algoritimo - Raul
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
 
Logica de Programacao
Logica de ProgramacaoLogica de Programacao
Logica de Programacao
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmos
 
Algoritmo - tipos de dados
Algoritmo - tipos de dadosAlgoritmo - tipos de dados
Algoritmo - tipos de dados
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Introdução a Lógica e a Algoritmos
Introdução a Lógica e a AlgoritmosIntrodução a Lógica e a Algoritmos
Introdução a Lógica e a Algoritmos
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3
 
Aula 2 - Lógica de Programação
Aula 2 - Lógica de ProgramaçãoAula 2 - Lógica de Programação
Aula 2 - Lógica de Programação
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturado
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 

Semelhante a Algoritmos e linguagem pascal

Algoritmia (Conceitos)
Algoritmia (Conceitos)Algoritmia (Conceitos)
Algoritmia (Conceitos)Sandro Lopes
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxPaulo Cardoso
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosRodrigo Kiyoshi Saito
 
Prova algoritmos
Prova algoritmosProva algoritmos
Prova algoritmospronatecvja
 
Lógica de programação 2
Lógica de programação 2Lógica de programação 2
Lógica de programação 2José Lopes
 
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Alex Camargo
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmiadiogoa21
 
Aula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptAula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptJadna Almeida
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoJose Augusto Cintra
 
INFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.ppt
INFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.pptINFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.ppt
INFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.pptPatricaNascimento1
 
Algorítmo estruturado
Algorítmo estruturadoAlgorítmo estruturado
Algorítmo estruturadoNaldo Falaschi
 
Apostila algoritmos
Apostila algoritmosApostila algoritmos
Apostila algoritmosPedro Nelson
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxaronoliveira3
 
53392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-200953392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-2009starley lobo
 

Semelhante a Algoritmos e linguagem pascal (20)

Algoritmia (Conceitos)
Algoritmia (Conceitos)Algoritmia (Conceitos)
Algoritmia (Conceitos)
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptx
 
Aula02
Aula02Aula02
Aula02
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
 
Prova algoritmos
Prova algoritmosProva algoritmos
Prova algoritmos
 
Lógica de programação 2
Lógica de programação 2Lógica de programação 2
Lógica de programação 2
 
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmia
 
Algoritmos com java script
Algoritmos com java scriptAlgoritmos com java script
Algoritmos com java script
 
Aula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptAula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.ppt
 
Cap03
Cap03Cap03
Cap03
 
Cap03
Cap03Cap03
Cap03
 
Cap03
Cap03Cap03
Cap03
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de Programação
 
INFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.ppt
INFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.pptINFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.ppt
INFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.ppt
 
Algorítmo estruturado
Algorítmo estruturadoAlgorítmo estruturado
Algorítmo estruturado
 
Apostila algoritmos
Apostila algoritmosApostila algoritmos
Apostila algoritmos
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
 
53392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-200953392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-2009
 
Analise Algoritmos
Analise AlgoritmosAnalise Algoritmos
Analise Algoritmos
 

Último

Simulado 2 Etapa - 2024 Proximo Passo.pdf
Simulado 2 Etapa  - 2024 Proximo Passo.pdfSimulado 2 Etapa  - 2024 Proximo Passo.pdf
Simulado 2 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxRonys4
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSilvana Silva
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdfJorge Andrade
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?Rosalina Simão Nunes
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
Orações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxOrações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxKtiaOliveira68
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaJúlio Sandes
 

Último (20)

Simulado 2 Etapa - 2024 Proximo Passo.pdf
Simulado 2 Etapa  - 2024 Proximo Passo.pdfSimulado 2 Etapa  - 2024 Proximo Passo.pdf
Simulado 2 Etapa - 2024 Proximo Passo.pdf
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptx
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
Orações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxOrações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptx
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
 

Algoritmos e linguagem pascal

  • 1. CURSO TÉCNICO DE INFORMÁTICA DISCIPLINA : PROGRAMAÇÃO Profª Angélica M. da Silveira ALGORITMOS 1.CONCEITO A palavra algoritmo, à primeira vista, parece-nos estranha. Embora possua designação desconhecida, fazemos uso constantemente de algoritmos em nosso cotidiano: a maneira como uma pessoa toma banho é um algoritmo. Outros algoritmos freqüentemente encontrados são: • instruções para se utilizar um aparelho eletrodoméstico; • uma receita para preparo de algum prato; • guia de preenchimento para declaração do imposto de renda; • a regra para determinação de máximos e mínimos de funções por derivadas sucessivas; • a maneira como as contas de água, luz e telefone são calculadas mensalmente; • São vários os conceitos para algoritmo. Escolhemos alguns para serem apresentados aqui: “Um conjunto finito de regras que provê uma seqüência de operações para resolver um tipo de problema específico” [KNUTH] “Seqüência ordenada, e não ambígua, de passos que levam à solução de um dado problema” [TREMBLAY] “Processo de cálculo, ou de resolução de um grupo de problemas semelhantes, em que se estipulam, com generalidade e sem restrições, as regras formais para a obtenção do resultado ou da solução do problema” [AURÉLIO] Um algoritmo é formalmente uma seqüência finita de passos que levam a execução de uma tarefa. Podemos pensar em algoritmo como uma receita, uma seqüência de instruções que dão cabo de uma meta específica. Estas tarefas não podem ser redundantes nem subjetivas na sua definição, devem ser claras e precisas. Até mesmo as coisas mais simples, podem ser descritas por seqüências lógicas. 2. POR QUE PRECISAMOS DE ALGORITMOS? A importância do algoritmo está no fato de termos que especificar uma seqüência de passos lógicos para que o computador possa executar uma tarefa qualquer, pois o mesmo por si só não tem vontade própria, faz apenas o que mandamos. Com uma ferramenta algorítmica, podemos conceber uma solução para um dado problema, independente de uma linguagem específica e até mesmo do próprio computador. Para que um computador possa desempenhar uma tarefa é necessário que esta seja detalhada passo a passo, numa forma compreensível pela máquina, utilizando aquilo que se chama de programa. Neste sentido, um programa de computador nada mais é que um algoritmo escrito numa forma compreensível pelo computador. 3. FORMAS DE APRESENTAÇÃO DE ALGORITMOS Linguagem Natural Os algoritmos são expressos diretamente em linguagem natural. Fluxograma Convencional Esta é um representação gráfica que emprega formas geométricas padronizadas para indicar as diversas ações e decisões que devem ser executadas para resolver o problema. 1
  • 2. Pseudo-linguagem Emprega uma linguagem intermediária entre a linguagem natural e uma linguagem de programação para descrever os algoritmos. Não existe consenso entre os especialistas sobre qual seria a melhor maneira de representar um algoritmo. Atualmente a maneira mais comum de representar-se algoritmos é através de uma pseudo-linguagem ou pseudo-código. Esta forma de representação tem a vantagem de fazer com que o algoritmo seja escrito de uma forma que está próxima de uma linguagem de programação de computadores. 4. FASES DE UM ALGORITMO Vimos que ALGORITMO é uma seqüência lógica de instruções que podem ser executadas. Entretanto ao montar um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais. Onde temos: ENTRADA: São os dados informados, lidos, digitados pelo usuário. PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final SAÍDA: São os dados já processados e mostrados no vídeo ou na impressora. 4.1 Método para construir um algoritmo 1. Ler atentamente o enunciado Deve-se reeler o enunciado de um exercício quantas vezes for necessário, até compreendê-lo completamente. A maior parte da resolução de um exercício consiste na compreensão completa do enunciado. 2. Retirar a relação das entradas de dados do enunciado Através do enunciado, descobrimos quais são os dados que devem ser fornecidos ao programa, via teclado, a partir dos quais são desenvolvidos os cálculos. Obs. Pode haver algum algoritmo que não necessite da entrada de dados (pouco comum). 3. Retirar do enunciado, a relação das saídas das informações Através do enunciado podemos descobrir quais são as informações que devem ser mostradas para compor o resultado final, objetivo do algoritmo. 4. Determinar o que deve ser feito para transformar as entradas nas saídas especificadas Nessa fase é que teremos a construção do Algoritmo propriamente dito. Devemos determinar qual sequência de passos ou ações é capaz de transformar um conjunto de dados nas informações de resultado Exemplo de Algoritmo Imagine o seguinte problema: Calcular a média final dos alunos da 3ª Série, sendo que os alunos realizarão quatro provas: P1, P2, P3 e P4. Onde: Média Final = P1+P2+P3+P4 4 Para montar o algoritmo proposto, faremos três perguntas: a) Quais são os dados de entrada? R: Os dados de entrada são ... b) Qual será o processamento a ser utilizado? R: O procedimento será ... 2
  • 3. c) Quais serão os dados de saída? R: O dado de saída será ... 5. 1ª FORMA DE ESCRITA DE ALGORITMO - LINGUAGEM NATURAL Faz-se uso do português para descrever algoritmos e tem a vantagem de que não há a necessidade de aprender nenhum conceito, basta saber como se faz para resolver um determinado problema. 5.1 Regras para construção do Algoritmo na linguagem natural Para escrever um algoritmo precisamos descrever a seqüência de instruções, de maneira simples e objetiva. Para isso utilizaremos algumas técnicas: * Usar preferencialmente um verbo por frase * Imaginar que você está desenvolvendo um algoritmo para pessoas que não trabalham com informática *Usar frases curtas e simples * Ser objetivo *Procurar usar palavras que não tenham sentido dúbio EXEMPLO 1: Calcular a massa corpórea de uma pessoa Informe o peso da pessoa Informe a altura da pessoa A massa corpórea é o peso dividido pelo dobro da altura Mostre a massa corporea EXEMPLO: Cálculo da média de 4 notas Informe a nota da prova1 Informe a nota da prova2 Informe a nota da prova3 Informe a nota da prova4 A média final é a soma de todas as notas dividida por 4 Mostre a média final. ATIVIDADES 1 1) Identifique os dados de entrada, processamento e saída nos algoritmos abaixo: a) Informe código da peça Informe valor da peça Informe Quantidade de peças O valor total da peça é a quantidade de peças multiplicada pelo valor da peça Mostre o código da peça e seu valor total b) Informe cotação do dólar Informe valor em dólares O valor em reais é a multiplicação da cotação pelo valor do dólar Mostre o resultado da conversão em Real c) Informe quatro valores Somar o quadrado de cada um Mostre o resultado da soma dos quadrados 3
  • 4. 2) Para cada um dos exercícios abaixo: Identifique os dados de entrada, processamento e saída e faça um algoritmo na linguagem natural: a) Escreva um algoritmo que calcula e mostra o dobro de um número. b) Construa um algoritmo para calcular e mostrar o valor da comissão de um vendedores de peças. Levando-se em consideração que sua comissão será de 5% do total da venda e que você tem os seguintes dados: * Preço unitário da peça * Quantidade vendida da peça c) Calcular e mostrar o perímetro e a área de um quadrado d) Todo restaurante, embora por lei não possa obrigar o cliente a pagar, costuma cobrar 10% para o garçom. Fazer um algoritmo calcula e mostra o valor da gorjeta e o total da conta com a gorjeta. e) Informe o número de horas trabalhadas, o valor que recebe por hora, o valor do salário família. Com estas informações calcular e mostrar o salário total deste trabalhador. f) Elaborar um algoritmo para entrar com o saldo de uma aplicação e mostrar o novo saldo, considerando 1 mês e aplicação e o reajuste de 2% ao mês. 6. 2ª FORMA DE ESCRITA DE ALGORITMO - FLUXOGRAMA Utilização de símbolos gráficos para representar algoritmos. No fluxograma existem símbolos padronizados para início, entrada de dados, cálculos, saída de dados, fim, etc. É representado por diagrama de blocos. Diagrama de Bloco O diagrama de blocos é uma forma padronizada e eficaz para representar os passos lógicos de um determinado processamento. Com o diagrama podemos definir uma seqüência de símbolos, com significado bem definido, portanto, sua principal função é a de facilitar a visualização dos passos de um processamento. Simbologia Existem diversos símbolos em um diagrama de bloco.Veja no quadro abaixo alguns dos símbolos que iremos utilizar: SÍMBOLO FUNÇÃO Indica o Início ou Fim de um processamento Símbolo que se utiliza para entrada de dados Símbolo que se utiliza para indicar o processamento Símbolo que se utiliza para indicar uma decisão a ser tomada, indicando a possibilidade de desvios. Símbolo utilizado quando é preciso particionar o diagrama, permitindo o desvio para um ponto qualquer do algoritmo Símbolo que se utiliza para saída de dados 4
  • 5. Exemplos de diagrama de blocos: Veja que no exemplo da média utilizamos cálculo e exibimos o resultado do mesmo. INICIO NOTA DA PROVA 1 NOTA DA PROVA 2 NOTA DA PROVA 3 NOTA DA PROVA 4 A MÉDIA FINAL É A SOMA DAS 4 PROVAS DIVIDIDA POR 4 FIM L A N FI A DI É M A R A R ST O M ATIVIDADES 2 1) Construa um diagrama de blocos para os exercícios da atividade 1: 7. PSEUDO-LINGUAGEM- PORTUGUES ESTRUTURADO Consiste na definição de uma pseudolinguagem de programação, cujos comandos são em português, para representar algoritmos. Embora o Português Estruturado seja uma linguagem bastante simplificada, ela possui todos os elementos básicos e uma estrutura semelhante à de uma linguagem de programação de computadores. Portanto, resolver problemas com português estruturado pode ser uma tarefa tão complexa quanto a de escrever um programa em uma linguagem de programação qualquer, só não tão rígida quanto a sua sintaxe, ou seja, o algoritmo não deixa de funcionar porque esquecemos de colocar um ';' (ponto-e-vírgula) por exemplo, já um programa não funcionaria. 7.1 ESTRUTURA DE UM ALGORITMO NO PORTUGUES ESTRUTURADO: devemos definir uma sintaxe e uma semântica, de forma a permitir uma única interpretação das instruções num algoritmo. Programa Nome_Do_Algoritmo Programa CALCULA_DOBRO var Var Declaração das variáveistipo de dado NUM, DOBRO  inteiro início Início Leia( NUM) instruções DOBRO  2 * NUM Escreva (DOBRO) Fim fim 5
  • 6. 7.2. ITENS FUNDAMENTAIS PARA A FORMA PORTUGUES ESTRUTURADO Correspondem aos recursos necessários para formalizar os algoritmos. 7.2.1 Variáveis Sabe-se da Matemática que uma variável é a representação simbólica dos elementos de um certo conjunto. Nos Algoritmos, Destinados A Resolver Um Problema No Computador, A Cada Variável Corresponde Uma Posição De Memória, Cujo Conteúdo Pode Variar Ao Longo Do Tempo Durante A Execução De Um Programa. Embora Uma Variável Possa Assumir Diferentes Valores, Ela Só Pode Armazenar Um Valor A Cada Instante. Toda variável é identificada por um nome. Assim, por exemplo, um algoritmo para cálculo das raízes de uma equação de 2o grau (ax2 + bx + c = 0 ), os nomes A, B e C podem representar as posições de memória que armazenam os coeficientes da equação, fazendo, neste caso, o papel das variáveis na matemática. Toda Variável É Identificada Por Um Nome. 7.2.2 Regras para a Formação de Nomes de Variáveis a) O nome de variável é formado por um ou mais caracteres; b) Os caracteres permitidos são letras de “A” a “Z”, números de “0” a “9”, e o caracter especial underline(_); c) O primeiro caracter deve, obrigatoriamente, ser uma letra e os caracteres seguintes, letras ou dígitos; d) O underline(_), quando permitido, somente pode aparecer entre caracteres ou dígitos, nunca no início ou no final; e) O tamanho de um nome de variável varia de linguagem para linguagem de programação; f) Não pode ser uma palavra chave ou palavra reservada. g) Não pode haver espaços em branco entre os caracteres. Variáveis válidas: NOME, FONE, IDADE_FILHO, IdadeFilho, NOTA1, Est_Civil Variáveis inválidas: 3Endereco, Estado Civil, PARA, algoritmo, numero/complemento, Média As palavras “PARA e algoritmo” são variáveis inválidas, pois são palavras reservadas da linguagem, veja outras palavras que você não deve utilizar como identificadores de variáveis. 6
  • 7. Variáveis de Entrada armazenam informações fornecidas por um meio externo, normalmente usuários ou discos. Variáveis de Saída armazenam dados processados como resultados. Exemplo: A B CA+B A B C 2 5 7 De acordo com a figura acima A e B são Variáveis de Entrada e C é uma Variável de Saída. 7.2.3 Tipos de Dados das Variáveis As variáveis podem armazenar basicamente de três tipos básicos de dados: Numéricas, Alfanuméricas(Literais ou caracter) ou lógicas. Numéricas Específicas para armazenamento de números, que posteriormente poderão ser utilizados para cálculos. Podem ser ainda classificadas como Inteiros ou Reais. Inteiro: admite somente números inteiros. Geralmente é usado para representar contagem (quantidade). Ex: idade, número de sapato, número de casa, apto, etc Real : admite números com ou sem casas decimais, onde a vírgula é substituída por ponto. Geralmente é usado para representar medição, valores monetários, etc. Alfanuméricas Específicas para dados que contenham letras, números ou caracteres de pontuação. Pode em determinados momentos conter somente dados numéricos ou somente literais. Se usado somente para armazenamento de números, não poderá ser utilizada para operações matemáticas.. Ex: endereço, data, etc Lógicas Armazenam somente dados lógicos que podem ser Verdadeiro ou Falso. ATIVIDADES 3 1) Identifique o tipo de dado ideal para se representar as seguintes informações: a) O número da conta bancária b) A altura de uma pessoa em metros c) A placa de um veículo 7
  • 8. d) O número de filhos de uma pessoa e) A cor de um objeto 2) Identificar os tipos dos seguintes dados: a) Processamento de Dados b) 0.4 c) 45.80 d) 97015-200 e) '?' f) ' ' g) (55) 3332-1231 h) Appel, nº 12 i) 10/10/1987 j) 0 3) Sublinhar os nomes de variáveis válidos: a) VALOR b)@xyz c)AH! d)”SOMA” e)IGUAL_A 4) Supondo que as variáveis Nota, NA, MAT e SX sejam utilizadas para armazenar respectivamente a nota do aluno, o nome do aluno, o número da matrícula e o sexo, indique o tipo de dado adequado que cada uma poderá armazenar. 5) Selecione os nomes Válidos para uma variável. a) _Salario c) Nota3 e) 4Nota g) Soma Total i) Maior b) Casa d) Valor_Total f) $Salário h) NOTA j) 2005 6) Marque a(s) Opção(ões) errada(s), sublinhe onde está o erro e corrija o mesmo: a) Uma variável Inteira pode receber o valor de uma Multiplicação. _____________ b) Para uma divisão( / ) qualquer a variável usada deve ser do tipo real. __________ c) Uma variável String recebe somente Letras. ______________ d) Uma variável Real não recebe o valor de uma variável Inteira. _______________ e) Não se pode somar uma variável Real com uma Inteira. ___ 7.3 Operadores Os operadores são meios pelo qual incrementamos, decrementamos, comparamos e avaliamos dados dentro do computador. Temos três tipos de operadores: Operador de Atribuição Operadores Aritméticos Operadores Relacionais Operadores Lógicos 7.3.1 Operador de Atribuição Uma variável nunca é eternamente igual a um valor, seu conteúdo pode ser alterado a qualquer momento. Portanto para “colocar” valores em variáveis devemos usar o sinal de uma seta( ) apontando para esquerda. 8
  • 9. Exemplo 1 (correto) Peso  78.7 // Este comando atribui à variável Peso o valor 78.7. Nome  João da Silva // Este comando atribui à variável Nome o valor João da Silva. Exemplo 2 (incorreto) É importante lembrar que só se pode atribuir às variáveis, valores do mesmo tipo da variável. Assim, o seguinte comando seria inválido: Salario Insuficiente A variável Salário é do tipo real não pode armazenar conteúdo literal Exemplo 3 (incorreto) Deve estar claro, também, que sempre à esquerda do comando de atribuição deve haver um (e somente um) identificador de variável. Assim, são incorretos os seguintes comandos: 2060  NumeroConta NumeroAgencia+digitoControle  2345 + 0 7.3.2 Operadores Aritméticos Os operadores aritméticos são os utilizados para obter resultados numéricos. Além da adição, subtração, multiplicação e divisão, podem utilizar também o operador para exponenciação. Os símbolos para os operadores aritméticos são: OPERAÇÃO SÍMBOLO SINTAXE Adição + CA+B Subtração - CA-B Multiplicação * CA*B Divisão / CA/B Exponenciação ^ CA^B Raiz Quadrada SQRT CSQRT(A) Parte inteira de nº TRUNC CTRUNC(A) Arredondamento de nº ROUND CROUND(A) Hierarquia das Operações Aritméticas 1 º ( ) Parênteses 2 º Exponenciação 3 º Multiplicação, divisão (o que aparecer primeiro) 4 º + ou – (o que aparecer primeiro) Exemplo 9
  • 10. ATIVIDADES 4 1) 5 Variáveis(A, B, C, D e R) são declaradas no inicio de 3 programas. Encontre os 3 valores de R : a) A  5; b) A Length(Casa); c) A = 3.6; B  A * 3; B  Sqr(A); B  Sqr(Trunc(A)); C  A + (B / 3); C  (B / A) + 10; C  Round(A) * B; D  Sqr(C) / A; D  C / Sqrt(A); D  Sqrt(C) + Round(A); R  Sqrt(D+A) * A; R ((A + B) / D) + C; R (D * B) / C; R: ____________ R: ____________ R: ____________ − b + b 2 − 4ac 2) Escreva a Fórmula em linguagem de programação, usando os operadores aritméticos. 2a Operadores Relacionais Os operadores relacionais são utilizados para comparar caracteres e números. Os valores a serem comparados podem ser caracteres ou variáveis. Estes operadores sempre retornam valores lógicos (verdadeiro ou falso/ True ou False) Para estabelecer prioridades no que diz respeito a qual operação executar primeiro, utilize os parênteses. Os operadores relacionais são: Descrição Símbolo Igual = Diferente de <> Maior que > Menor que < Maior ou igual a >= Menor ou igual a <= Exemplo: Tendo duas variáveis A=5 e B=3 Os resultados das expressões seriam: Expressão Resultado A=B Falso A<>B Verdadeiro A>B Verdadeiro A<B Falso A>=B Verdadeiro A<=B Falso Operadores Lógicos Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso. Os operadores lógicos são: E / AND ; OU / OR ; NOT 10
  • 11. A tabela abaixo mostra todos os valores possíveis criados pelos três operadores lógicos: 1º Valor Operador 2º Valor Resultado V AND V V V AND F F F AND F F F AND F F V OR V V V OR F V F OR V V F OR F F V NOT F F NOT V Exemplo: Supondo que tem-se três variáveis A=5, B=8 e C=1 os resultados das expressões seriam: Expressão Operador Expressão Resultado A=B AND B>C F A<>B OR B<C V A>B NOT V A<B AND B>C V A>=B OR B=C F A<=B NOT F Expressões Lógicas : Operações Lógicas são utilizadas quando se torna necessário tomar decisões em um diagrama de bloco. Num diagrama de bloco, toda decisão terá sempre como resposta o resultado VERDADEIRO ou FALSO. ATIVIDADES 5 1) Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os valores abaixo. Informe se as expressões são verdadeiras ou falsas. SALARIO IR SALLIQ EXPRESSÃO V ou F 100,00 0,00 100 (SALLIQ >= 100,00) 200,00 10,00 190,00 (SALLIQ < 190,00) 300,00 15,00 285,00 SALLIQ = SALARIO -IR 2) Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são verdadeiras ou falsas. a) (A+C) > B ( ) b) B >= (A + 2) ( ) c) C = (B –A) ( ) d) (B + A) <= C ( ) e) (C+A) > B () 3) Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões abaixo são verdadeiras ou falsas. a) (A > C) AND (C <= D) () b) (A+B) > 10 OR (A+B) = (C+D) () c) (A>=C) AND (D >= C) () 11
  • 12. 4) Atribua valores verdade para as seguintes proposições: a) 3 7 e 4 é um inteiro impar. b) 3 7 ou 4 é um inteiro impar. d) 5 é impar ou divisível por 4. e) Não é verdade que (2 +2 = 5 e 5 7). f) Não é verdade que (2 + 2 = 5 ou 5 7). g) 3 3. 5) De acordo com os valores fornecidos na tabela ao lado, faça um teste de mesa com o diagrama abaixo: INICIO SALBASE GRATIF SALBRUTO=SALBASE+GRATI F SALBRUTO Não <1000 Sim IR=SALBRUTO*(20/10 IR=SALBRUTO*(15/10 IQ LL A S SALLIQ=SALBRUTO-IR FIM 12
  • 13. 8.COMANDOS DE I/O (INPUT/OUTPUT): São os comandos que representam a comunicação entre o usuário e a máquina. LEIA é o comando de entrada que permite a leitura de Variáveis de Entrada. Nem todos os dados que um algoritmo manipula são gerados por ele. Um algoritmo (programa) de caixa automático, por exemplo, tem que obter do usuário o número da conta, a senha, a opção de serviço desejada, etc. Assim, deve haver um meio para que sejam digitados (ou fornecidos de outra maneira) dados para o algoritmo. Mais uma vez, todas as linguagens de programação permitem isto, e no nosso Português Estruturado usamos o comando leia. A sintaxe deste comando é: Leia (nome da variável de entrada) ESCREVA é o comando de saída que exibe uma informação a qual pode ser o resultado de uma variável ou mensagem na tela do monitor. Em geral, um programa que faz seu processamento e não tem como mostrar seus resultados é inútil (imagine, por exemplo, uma calculadora que realiza uma infinidade de operações matemáticas, mas não tem um display para mostrar os resultados!). Portanto, em algum ponto do algoritmo geralmente deve ocorrer à exibição de valores, e todas as linguagens de programação têm comandos para este fim. Em Português Estruturado usamos o comando escreva. A sintaxe deste comando é: Escreva (nome da variável de saida) ou Escreva(‘mensagem’, variável de saida) Exemplo 1: Exemplo 2: X  3.5 X  3.5 Y4 Y4 CX+Y CX+Y Escreva ( X) Escreva (‘O valor de X é’, X) Escreva ( Y) ou Escreva (‘ E o valor de Y é ‘, Y) Escreva (C) Escreva (‘ A soma de X e Y é’, X+Y) Faria com que aparecesse na tela: Faria com que aparecesse na tela: 3.5 O valor de X é 3.5 4 E o valor de Y é 4 7.5 A soma de X e Y é 7.5 IMPRIMA  Comando de saída que envia uma informação para a impressora. 13
  • 14. 9.CORPO GERAL DE UM PROGRAMA PROGRAMA nomedoprograma VAR Listar as variaveis entre vírgula definir o tipo de dado ÍNICIO COMANDOS DE ENTRADA, PROCESSAMENTO COMANDOS DE SAÍDA FIM. Ex: Algoritmo 1 Segue um Algoritmo(Português Estruturado) que lê o nome e as 4 notas bimestrais de um aluno. Em seguida o Algoritmo calcula e escreve a média obtida. PROGRAMA MEDIA_FINAL VAR NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: INTEIRO NOME : CARACTERE [35] INICIO LEIA (NOME) LEIA (NOTA1, NOTA2, NOTA3, NOTA4) MEDIA  (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4 ESCREVA (NOME, MEDIA) FIM. Ex: Algoritmo 2 Segue um Algoritmo que lê o raio de uma circunferência e calcula sua área. PROGRAMA AREA_CIRCUNFERENCIA VAR R, A : REAL INICIO LEIA (R) {ENTRADA} A  3.14 * SQR(RAIO) {PROCESSAMENTO} ESCREVA (‘ÁREA =’, A) {SAÍDA} FIM. OBS: Você pode mandar uma mensagem antes para o usuário, assim ele sabe qual é o conteúdo que deve ser colocado, ou seja, digitado. 14
  • 15. Exemplo: Escreva (‘Digite o nome: ‘) Leia (N) Escreva (‘Digite sua agencia: ‘) Leia (NumeroAgencia) Escreva (‘Digite sua conta: ‘) Leia (NumeroConta) Deve estar claro que sempre à direita do comando leia haverá um identificador de variável. PASSSOS PARA A CONSTRUÇÃO DE UM ALGORITMO: De forma genérica, a construção de um algoritmo se resume às seguintes etapas: a) entendimento do problema; b) elaboração da solução algorítmica; e c) codificação da solução no Português Estruturado; Geralmente a etapa 2 é a mais complexa, pois depende da engenhosidade e experiência do “construtor”. Enunciado: Faça um programa que leia dois valores numéricos, e calcule e exiba a sua média aritmética. Etapa 1 Dos tempos de escola lembramos que a média aritmética de dois valores é calculada como (a+b)/2, e sendo assim a primeira etapa já está pronta. Etapa 2 Os dados necessários serão os dois valores, que colocaremos em duas variáveis A e B, do tipo numérico, e uma terceira variável, que chamaremos M, que armazenará a média aritmética calculada. Etapa 3 A obtenção dos dados neste programa é simples e direta. Basta pedir ao usuário que digite os valores. Etapa 4 O processamento aqui é o cálculo da média, usando o método citado acima, na etapa 1. O resultado do cálculo será armazenado na variável M. Etapa 5 Basta exibir o conteúdo da variável M. Solução: 15
  • 16. Programa Calculo_Media VAR A,B,M  REAL Inicio Escreva (‘Programa que calcula a média aritmética de dois valores.’) Escreva (‘Digite um valor : ‘) Leia (A) Escreva (‘Digite outro valor : ‘) Leia (B) M (A+B)/2 Escreva (‘A média dos dois valores é : ‘, M) Fim ATIVIDADES Escreva os algoritmos abaixo em português estruturado: 1) Informar três valores e calcular e mostrar a média desses valores. 2) Informar a medida de um lado de um quadrado. Calcular seu perímetro e armazenar em P. Calcular sua área e armazenar em A. Mostrar os dados obtidos. 3) Escreva um algoritmo que leia um número inteiro e exiba o dobro do mesmo. 4) Escreva um algoritmo para calcular e exibir a média ponderada de 2 notas dadas. (nota1= peso 6 e nota2= peso 4) 5) Escreva um algoritmo para calcular e exibir o comprimento de uma circunferência ( C = 2 ∏ R ), sendo dado o valor de seu raio. 6) Escreva um algoritmo para ler uma temperatura dada na escala Fahrenheit e exibir o equivalente em Celsius. 5 C = * ( F − 32) 9 7) Escreva um algoritmo para calcular a área de um triângulo, sendo dados a sua base e a sua altura. 8) Faça um programa que receba o preço de um produto, calcule e mostre o novo preço, sabendo-se que este sofreu um desconto de 10%. 9) a) Ler 3 valores b) Calcular o produto destes valores c) Mostrar ‘O produto vale’, o valor do produto 10) Todo restaurante, embora por lei não possa obrigar o cliente a pagar, costuma cobrar 10% para o garçom. Fazer um algoritmo que leia o valor gasto em um restaurante e mostrar o valor da gorjeta e o total com a gorjeta. 16
  • 17. 11)Ler o código de um funcionário, o número de horas trabalhadas, o valor que recebe por hora, o valor do salário família. Com estas informações calcular o salário total deste trabalhador e mostrar junto como código do funcionário. 12) Dados 3 valores numéricos, fazer o algoritmo para calcular a raiz quadrada da soma do três valores. Mostrar o resultado. 13) Elaborar um algoritmo para entrar com o saldo de uma aplicação e mostrar o novo saldo, considerando 1 mês de aplicação e o reajuste de 2% ao mês. ALGORITMOS - ESTRUTURAS DE DECISÃO Em algumas situações verificamos que na maioria das vezes necessitamos tomar decisões no andamento do algoritmo. Essas decisões interferem diretamente no andamento do programa. Trabalharemos com dois tipos de estrutura. A estrutura de Decisão e a estrutura de Repetição 1 Comandos de Decisão Os comandos de decisão ou desvio fazem parte das técnicas de programação que conduzem a estruturas de programas que não são totalmente seqüenciais. Com as instruções de SALTO ou DESVIO pode-se fazer com que o programa proceda de uma ou outra maneira, de acordo com as decisões lógicas tomadas em função dos dados ou resultados anteriores. As principais estruturas de decisão são: “Se Então”, “Se então Senão”. 1.1 SE ENTÃO / IF ... THEN A instrução se...então tem por finalidade tomar uma decisão e efetuar um desvio no processamento, dependendo, é claro, da condição atribuída ser verdadeira ou falsa. Sendo a condição verdadeira, será executada a instrução que estiver escrita após a instrução se..então. Se a instrução for falsa, serão executadas as instruções que estejam após as instruções consideradas verdadeiras. Sintaxe: se <condição> então <instrução para condição verdadeira>; <instrução para condição falsa ou após condição ser verdadeira>; Vejamos um exemplo de um trecho de programa com o uso da instrução se..então: se (x > 10) então escreva(‘O valor da variável X é maior que 10’); Caso venha a existir mais de uma instrução verdadeira para uma determinada condição, estas deverão estar inseridas em um bloco. Um bloco é o conjunto de instruções estar entre inicio e fim Sintaxe: se <condição> então inicio <instrução para condição verdadeira> <instrução para condição verdadeira> <instrução para condição verdadeira> <instrução para condição verdadeira> fim; <instrução para condição falsa ou após condição ser verdadeira> Imagine um algoritmo que determinado aluno somente estará aprovado se sua média for maior ou igual a 5.0, veja no exemplo de algoritmo como ficaria. 17
  • 18. SE MEDIA >= 5.0 ENTÃO ALUNO APROVADO Em diagrama de blocos ficaria assim: Programa media Var Media:real Inicio Leia(Media) Se media>=5.0 então Escreva(‘Aluno Aprovado’) Fim. 1.2 SE ENTÃO SENÃO / IF ... THEN ... ELSE Assim como a instrução se...então, a instrução se...então...senão tem por finalidade tomar uma decisão e efetuar um desvio no processamento. Se a condição for verdadeira será executada a instrução logo abaixo do se. Sendo a condição falsa, será executada a instrução que estiver posicionada logo após a instrução senão. O conceito de blocos de instruções vale também para esta instrução. Sintaxe: se <condição> então <instruções para condição verdadeira> senão <instruções para condição falsa>; Caso venha a existir mais de uma instrução verdadeira ou falsa para uma condição, estas deverão estar inseridas em um bloco. Sintaxe: se <condição> então inicio <instruções para condição verdadeira>; <instruções para condição verdadeira>; fim senão inicio <instruções para condição falsa>; <instruções para condição falsa>; fim; Observe que nos dois casos abordados acima, qualquer instrução que antecede a instrução senão está escrita sem o ponto-e-vírgula (;). Isto ocorre pelo fato de a instrução senão ser uma extensão da instrução se...então, e sendo assim, o final da condição somente ocorre após o processamento da instrução senão executado. Em algoritmo ficaria assim: SE MÉDIA >= 5.0 ENTÃO Escreva(‘ALUNO APROVADO’) SENÃO Escreva(‘ALUNO REPROVADO’) Em diagrama 18
  • 19. No exemplo acima está sendo executada uma condição que, se for verdadeira, executa o comando “APROVADO”, caso contrário executa o segundo comando “REPROVADO”. Podemos também dentro de uma mesma condição testar outras condições. Como no exemplo abaixo: se MEDIA >= 5 então inicio se MEDIA >= 7.0 então inicio escreva(‘Aluno APROVADO’); fim senão inicio escreva(‘Aluno Necessita fazer outra Avaliação’); fim fim senão inicio escreva (‘Aluno REPROVADO’); fim EXERCÍCIOS ESTRUTURAS DE DECISÃO : 1) a) Ler os valores de X e Y ; b) Se X for maior ou igual a Y calcular a média desses valores e imprimir ‘Media = ‘, valor da média calculada; c) Fim. 2) Escreva um algoritmo para ler um número e determinar se ele é maior, igual ou menor que zero. 3) Escreva um algoritmo que leia dois números e exiba o maior deles. 4) Deseja-se calcular a conta de consumo de energia elétrica de um consumidor. Para isto, escreva um algoritmo que leia o código do consumidor, o preço do Kw e a quantidade de Kw consumido, e exiba o código do consumidor. Calcular o total da conta. Se o total da conta for menor ou igual 11.20, então o total a pagar é R$ 11,20. Senão o total a pagar é o total da conta 19
  • 20. 6) Dado um número, fazer o algoritmo para calcular e mostar a raiz quadrada desse número se ele for positivo, se ele for negativo calcular e mostrar o seu quadrado. 7)Fazer o algoritmo para ler as seguintes informações: o nome, altura e o sexo de uma pessoa Se sexo for masculino então o peso ideal é (72,7 x altura) – 58, se for feminino o peso ideal é (62,1 x altura) – 44,7 Mostrar: O nome da pessoa e o seu peso ideal. 8) Escreva um algoritmo que determine o grau de obesidade de uma pessoa, sendo fornecido o peso e a altura da pessoa. O grau de obesidade é determinado pelo índice da massa corpórea (Massa = Peso / Altura 2 ) através da tabela abaixo: MASSA GRAU DE CORPÓREA OBESIDADE < 26 Normal ≥ 26 e < 30 Obeso ≥ 30 Obeso Mórbido 9) Faça um algoritmo que, dado as três notas de um aluno, determine e exiba a sua média final e o seu conceito, sabendo-se que: - a média final é calculada pela média aritmética das 3 notas; - o conceito é determinado de com base na tabela abaixo: MÉDIA FINAL CONCEITO ≥ 8,0 A ≥ 5,0 e < 8,0 B < 5,0 C 10) O Botafogo Futebol Clube deseja aumentar o salário de seus jogadores. O reajuste deve obedecer a seguinte tabela: SALÁRIO ATUAL (R$) AUMENT O 0,00 a 1.000,00 20% 1.000,01 a 5.000,00 10% acima de 5.000,00 0% Escrever um algoritmo que leia o nome e o salário atual de um jogador, e exiba o nome, o salário atual e o salário reajustado. 11) Faça um algoritmo para calcular a conta final de um hóspede de um hotel fictício, considerando que: a) serão lidos o nome do hóspede, o tipo do apartamento utilizado (A, B, C ou D), o número de diárias utilizadas pelo hóspede e o valor do consumo interno do hóspede; b) o valor da diária é determinado pela seguinte tabela: TIPO DO APTO. VALOR DA DIÁRIA (R$) A 150,00 B 100,00 C 75,00 D 50,00 c) o valor total das diárias é calculado pela multiplicação do número de diárias utilizadas pelo valor da diária; 20
  • 21. d) o subtotal é calculado pela soma do valor total das diárias e o valor do consumo interno; e) o valor da taxa de serviço equivale a 10% do subtotal; f) a total geral resulta da soma do subtotal com a taxa de serviço. g) escreva a conta final contendo: o nome do hóspede, o tipo do apartamento, o número de diárias utilizadas, o valor unitário da diária, o valor total das diárias, o valor do consumo interno, o subtotal, o valor da taxa de serviço e o total geral. LINGUAGEM PASCAL 1 Histórico Origem: desenvolvida nos anos entre 1968 e 1970 por Nicklaus Wirth na Universidade Técnica de Zurique, Suíça. Em 1970 é disponibilizado o primeiro compilador para a linguagem. Objetivo: desenvolver uma linguagem de programação disciplinada de alto nível para ensinar programação estruturada. Esta linguagem foi batizada com o nome de Pascal, em homenagem a Blaise Pascal, filósofo e matemático francês que viveu entre 1623 e 1662. Atualizações: durante os últimos anos foram lançadas diversas variações da linguagem Pascal-Padrão, implementando recursos que não são encontrados na estrutura padrão da linguagem. Nas mãos da Borland, já foram lançadas as versões 3.0, 4.0, 5.0 e 5.5 na década de 80. Durante a década de 90 foram lançadas as versões 6.0, 7.0 e o lançamento da linguagem Delphi, para programação em ambiente Windows. Existem diversas linguagens de programação, podemos aprender e utilizar quantas desejarmos. Dizer qual a melhor é muito relativo. Há os que defendem o Basic, o Cobol, a C, o Pascal e tantas outras. 2 Linguagem de Programação Um computador não pode entender nem tão pouco executar instruções em linguagens de alto nível. Ele só entende linguagem de máquina. Desta forma, os programas em linguagens de alto nível devem ser traduzidos antes de serem executados pelo computador. Quem faz essa tradução são os programas tradutores. Existem basicamente 2 tipos de programa tradutor: o interpretador; e o compilador. Os dois aceitam como entrada um programa em linguagem de alto nível (fonte) e produzem como saída um programa em linguagem de máquina (objeto). A diferença entre eles está na forma de executar a tarefa de tradução. O interpretador traduz para a linguagem de máquina e roda uma linha por vez, até que todo programa seja executado. Já o compilador traduz para a linguagem de máquina todo o programa fonte e só então ele é executado. Existem linguagens de programação interpretadas e compiladas. O Cobol é compilado, o Basic pode ser tanto compilado como interpretado e assim por diante. A linguagem Pascal é tradicionalmente compilada. Por outro lado, o processo de compilação é de certa forma moroso, pois deve seguir as seguintes etapas: 1-) Devemos utilizar um editor de textos para escrever e armazenar em disco o nosso programa fonte. 2-) Utilizar um compilador para traduzir o programa fonte para um programa em linguagem de máquina. 3-) Finalmente, devemos juntar ao programa compilado as diversas rotinas necessárias que, normalmente, ficam armazenadas numa biblioteca. Após todo esse processo, suponha que você chegue à conclusão de que o programa tenha que sofrer modificações, pois bem, você terá que repetir os três passos descritos, e assim sucessivamente até que o programa fique ao seu gosto. 21
  • 22. Aplicativo Pascal Zim O compilador Pascal Zim foi desenvolvido Departamento de Ciências da Computação da Universidade de Brasília possuindo praticamente quase todas as funções do Turbo Pascal. Comandos principais do aplicativo PASCAL ZIM Menu Arquivo Novo : inicializa o editor de texto para a edição de um novo arquivo-fonte. Abrir : abre um arquivo-fonte existente. (*.pas) Salvar e Salvar Como : gravar arquivos-fonte do editor Sair : abandona o ambiente Pascal zim Menu Editar Recortar: cortar . Copiar : copiar. Colar : colar. Menu Compilar Executar : inicia o processo de compilação, sempre com o arquivo que esteja atualmente no editor. Verifica se o código fonte possui algum erro. F9 Gerar Executável : compila o arquivo principal, se tiver algum designado. Senão compila o arquivo que estiver atualmente editado e gera o arquivo executável no mesmo diretório onde se encontra o arquivo fonte (*.pas) 3. ESTRUTURA DO PROGRAMA EM PASCAL Todo programa fonte escrito em Pascal obedece a seguinte forma geral: program nome; var lista de variáveis: tipo; begin corpo do programa com comandos e estruturas end. em que: program, var, begin, end – são palavras reservadas nome – identifica o programa ; é um delimitador, indica fim de uma instrução lista de variáveis – pode ser um ou mais nomes de variáveis separados por vírgulas : delimitador tipo indica o tipo de dado da variável corpo do programa – contém os comandos e as estruturas que definem o que o programa deve executar. Devem estar entre as palavras reservadas begin e end. Devem ser escritos linha por linha, para maior clareza, obedecendo à sintaxe própria da linguagem. 4. TIPO DE DADOS 22
  • 23. Os dados são representados pelas informações a serem processadas por um computador. Um tipo de dados especifica as características, ou seja os valores e operações possíveis de serem utilizados com um dado desse tipo. Toda variável e constante usada em um programa tem um tipo associado a ela. A linguagem Pascal fornece ao programador um conjunto de tipos de dados predefinidos. 4.1 Tipos de Dados Inteiros São caracterizados tipos inteiros, os dados numéricos positivos ou negativos, excluindo-se qualquer número fracionário. Em Pascal, este tipo de dado pode ser referenciado por um dos seguintes identificadores: Tipo de dado Tamanho(byte Faixa de abrangência inteiro s) shortint de –128 até 127 1 byte integer de –32.768 a 32.767 2 bytes de –2.147.483.648 a longint 4 bytes 2.147.483.647 byte de 0 até 255 1 byte word de 0 até 65535 2 bytes 4.2 Tipos de Dados Reais O tipo de dado real permite trabalhar com números fracionários, tanto positivos como negativos, sendo sua capacidade de armazenamento maior que dos números inteiros. Vejamos os tipos: Tipo de dado Tamanho(byte Faixa de abrangência real s) real de 2.9 e-39 até 1.7 e38 6 bytes single de 1.5 e-45 até 3.4 e38 4 bytes double de 5.0 e-324 até 1.7e308 8 bytes extended de 3.4 e-4.932 até 1.1 e4.932 10 bytes comp de –9.2 e18 até 9.2 e18 8 bytes 4.3 Tipos de Dados Caracteres São considerados tipos caracteres, as seqüências contendo letras, números e símbolos especiais. Uma seqüência de caracteres, em Pascal, deve ser representada entre apóstrofos (‘’). Este tipo de dado é referenciado pelo identificador string, podendo armazenar de 1 até 255 caracteres. Podemos ainda especificar um tamanho menor do que os 255 caracteres permitidos. Vejamos a sintaxe para criarmos uma variável do tipo string com tamanho limitado. Sintaxe: variável : string[tamanho]; Vejamos um exemplo do uso de strings: var Frase : string; Nome : string[45]; Existe ainda o tipo char, utilizado da mesma forma que o tipo string, porém com uma pequena diferença: é usado para strings de apenas um caracter. Vejamos um exemplo do tipo de dado char: var Sexo : char 4.4 Tipos Lógicos 23
  • 24. São caracterizados tipos lógicos, os dados com valores true (verdadeiro) e false (false). Este tipo de dado também e chamado de tipo boleano. Ele é representado pelo identificador boolean. Vejamos um exemplo da utilização do tipo de dado boolean: var Aprovado : boolean; Confirma : boolean; 5 Comandos na Linguagem PASCAL As instruções em um PROGRAMA FONTE correspondem aos comandos e estruturas do algoritmo e obedecem a uma sintaxe própria com palavras reservadas que possuem um sentido pré-determinado para o compilador PASCAL. 5.1)Comandos de atribuição: nos algoritmos variável ← expressão na Linguagem PASCAL variável : = expressão; Exemplo: A:= 3; OBS: expressão obedece às regras vistas, lembrando que a linguagem PASCAL tem uma Biblioteca de funções embutidas e que não existe o operador potenciação. Se for necessário executar uma potenciação é preciso usar uma combinação de funções embutidas. Exemplo: X5 ⇒ EXP (5 * LN (X)) X2 ⇒ SQR (X) 5.2) Comandos de entrada: no algoritmo leia lista de variáveis na Linguagem PASCAL readln (lista de variáveis); Exemplo: readln (A, B, C); os dados são introduzidos, via teclado, separados por um espaço em branco ou a cada valor é pressionado ENTER, mudando de linha o que equivale a: readln (A); readln (B); readln (C); 5.3) Comandos de saída: no algoritmo escreva lista de variáveis e/ou constantes na Linguagem PASCAL writeln (lista de variáveis e/ou constantes); Exemplo: writeln (‘SOMA = ‘ , S); esse comando exibe o conteúdo da variável contida na posição de memória identificada por S antecedido da mensagem SOMA =. OBS: 1) para gerar telas mais amigáveis, tornando mais agradável e fácil a interação do usuário com o programa é usado o comando de entrada antecedido do comando de saída com um texto explicativo. Os 2 24
  • 25. comandos, write e readln, fazem com que seja exibida a mensagem contida no comando write e que o cursor se posicione na mesma linha esperando a entrada da informação correspondente. A forma é: write(‘comentário’); readln(nome da variável ); Exemplo: write(‘Digite o numero de dados’); readln(N); Exemplo 1: Fazer o algoritmo e escrever o PROGRAMA FONTE que leia 3 números inteiros e imprima o seu produto. Dados de Entrada { - 3 valores Pede (processamento) { - o produto destes valores - 1 nome de variável para cada valor X, Y, Z Necessita - 1 nome para o produto P programa produto program produto; var var X,Y,Z,P:inteiro X, Y, Z, P: integer; inicio begin ler (X, Y, Z) readln (X,Y,Z); P  X*Y*Z P:=X*Y*Z; escreva (PRODUTO =’ , P) writeln (‘Produto = ’ ,P) ; fim. end. Para uma tela mais amigável a etapa de entrada de dados deveria ser escrita da seguinte forma: write( ‘Digite o valor de X ’ ); readln(X); write( ‘Digite o valor de Y ’ ); readln(Y); write( ‘Digite o valor de Z ’ ); readln(Z); OUTROS COMANDOS NO PASCAL: 1) TextBackGround Este procedimento seleciona a cor do fundo sobre o qual o texto será escrito. 25
  • 26. Sua sintaxe geral é: TextBackGround(cor); Nós podemos entrar com o número ou o nome da cor em inglês Exemplo: Program Exemplo; Uses CRT; Begin ClrScr; TextBackGround(Red); Writeln('teste'); TextBackGround(white); Writeln('teste'); Readln; End. 2) TextColor Este procedimento permite selecionar a cor com que o texto será impresso. Exemplo: Program Exemplo; Uses CRT; Begin Clrscr; TextColor(red); writeln('teste'); TextColor(blue); write('teste'); readln; End. Tabela de cores 0. Black Preto 1. Blue Azul 2. Green Verde 3. Cyan Ciano 4. Red Vermelho 5. Magenta Magenta 6. Brown Marrom 7. LightGray Cinza-claro 8. DarkGray Cinza-escuro 9. LightBlue Azul-claro 10. LightGreen Verde-claro 11. LightCyan Ciano-claro 12. LightRed Vermelho-claro 13. LightMagenta Magenta-claro 14. Yellow Amarelo 15. White Branco 16. Blink Piscante 3)Gotoxy - esse comando permite posicionar o cursor em uma determinada posição da tela. É preciso fornecer os 2 parâmetros que determinam a linha e a coluna da posição. O gotoxy deve preceder o comando de saída e possui a seguinte forma geral: gotoxy(coluna, linha); 26
  • 27. em que: gotoxy – palavra chave coluna – é o parâmetro que determina a coluna relacionada ao ponto onde deve ser exibida a próxima saída de dados. A coluna varia de 1 a 80. linha – é o parâmetro que determina a linha relacionada ao ponto onde deve ser exibida a próxima saída de dados. A linha varia de 1 a 25. Exemplo: program exemplo3; uses crt; var mat,nome:string; begin clrscr; gotoxy (5,10); writeln(‘Digite a matricula do aluno’); readln(mat ); gotoxy (5,12); writeln(‘Digite o nome do aluno’); readln(nome); write (‘Matrícula é ’, mat, ‘Nome é :’,nome); readln; end. 4) Delay ou Readkey- Suspende a execução do programa durante X milissegundos ou suspende a execução de um programa a partir de uma tecla pressionada. Sintaxe Sintaxe delay ( 10000 ) ; readkey; 27